나는 아무 것도 잘못하지는 않았지만 어쨌든 물어볼 것이라고 생각한다.더블 포인터와 구조체
우리는이 :
struct some_struct **array_of_ptrs = calloc (num, sizeof (struct some_struct*));
지금 난 그냥 struct some_struct
에 '배열'에서이 포인터의 각 지점 가정합니다. 이제 메모리를 확보하는 것이 확실합니다.
free (array_of_ptrs);
분명히 허용됩니다. 내가 물어 보는 이유는 내 코드에서 비슷한 것을하고 gdb가 자유 오류를 불평하기 때문이다.
오류를 재생산하는 최소한의 프로그램을 제공하면 더 좋을 것입니다. – Amnon
나는 그것을 할 수 있다고 믿는다 : struct some_struct ** array_of_ptrs = calloc (num, sizeof * array_of_ptrs); – Skizz
'array_of_ptrs'를 해제하기 전에'array_of_ptrs [0]'을'array_of_ptr [num-1]'으로 비우지 않습니까? – Amarghosh