나는 이것에 관해 많은 게시물을 읽었지만 내 문제는 좀 더 구체적인 것으로 보인다. 나는 동적 인 2D 배열을 할당 할 수있을 것이라고 생각한다.정적 배열의 동적 배열에 대한 메모리 할당
기존 코드로 인해 정적 배열 인 typedef
을 사용해야합니다. 이제 나는 알 수없는 수의 배열을 임시로 저장하려고합니다. 포인터를 사용하여 여러 변형을 시도했지만 컴파일도 할 수 없습니다.
다음 코드는 내가 할 노력하고있어 설명해야한다 : 이것은 가장 적은 오류가있는 내 버전입니다
int iCount, i;
typedef unsigned char Buffer[1024];
Buffer * BufferArray=NULL;
BufferArray = malloc(iCount * sizeof Buffer*);
for(i=0;i<iCount;i++)
{
BufferArray[i] = malloc(sizeof(Buffer));
}
. 단 하나의 왼쪽
오류 C2106입니다 : '='왼쪽 피연산자는 내가이 주제는 지루 알고 충분히 자주 발생 리터 값을
을해야합니다. 하지만, 이미 정적 배열 인 typedef
과 혼동을 느낍니다. 그래서 나는 **
포인터가 필요 없다고 생각했다.
감사합니다. typedef를 당신을 혼동하는 경우
사이드 노트 : 사용자가 의도하지 않은 것일 수있는'BufferArray [i]'대신'BufferArray [iCount]'에 할당하고 있습니다. – Shahbaz
사이드 노트 : 위의 코드는 실제 코드가 될 수 없으며 컴파일되지 않습니다. 나는 'iCount * sizeof Buffer *'를 믿지 않는다. – unwind
오른쪽, shoulb [i]. @unwind : 내가 쓴 것처럼, 컴파일되지 않는다. –