' int main()
{
int *ptr = (int*)calloc(10,sizeof(int));//allocating memory for 10 integers
ptr = realloc(ptr,20*sizeof(int)); //reallocating the memory for 20 integers
free(ptr);
return 0;
}'
초기에는 ptr 보류 메모리에 0이 들어 있지만 새로 생성 된 메모리에는 0 또는 쓰레기 값이 들어 있습니다. 내가 calloc 포인터를 재 할당하면 결과는 어떻게됩니까?
제로는 realloc 함수 수있는 방법을 제시하는 경우
는 malloc에 또는은 calloc을 사용하여 생성 된 PTR 날씨 알고있다.ptr = realloc(ptr,20*sizeof(int));
을 (일부는이 같은 안전하지 말할 수는 (결과를 캐스팅하고 다시 할당하지 않거나 제대로 작동하지 않습니다) 제대로처럼
realloc
라고해도
코드가 올바르지 않습니다. 'realloc'의 맨 페이지를 읽으십시오 (여러분의 질문에도 답할 것입니다). 혼자서도 최소한의 노력이 필요합니다. – Olaf
아, 이제이 말이 맞습니다. 내 대답을 업데이트 할 때 :) –
나는 따라하기가 힘듭니다. 그러나 OP가 실제로 오타를 개선하기 때문에, 나는 기꺼이 그것을한다. –