動的配列に関する宿題を始めています。まず、2 次元配列があります。
int initializeInfo[3][4] ={{77,68,0,0},{96,87,89,78},{70,90,86,0}};
ポインターを使用して保存します。
int **ptr = (int**)malloc(3*sizeof(int));
int size = 0;
for(int i =0;i<3;i++){
addInitiazeInfo(ptr,initializeInfo[i],size);
}
関数 addInitiazeInfo は次のとおりです。
void addInitiazeInfo(int**& ptr, int arr[],int& size){
ptr[size] = (int*)malloc(4*sizeof(int));
if(ptr[size] == NULL){
return;
}
ptr[size] = arr;
size++;
}
走行OKです!2 次元配列は、ptr ポインターによって格納されます。
そして、新しい行を追加したいのですが、reallocが必要だと思うので、次を試します:
int arr[] = {3,4,5,6};
size++;
ptr = (int**)realloc(ptr,size * sizeof( int ) );
ptr[size-1] = (int*)malloc(4*sizeof(int));
ptr[size-1] = arr;
しかし、これは私の問題だと思います。出力では、それがどのように発生したかを知るのが難しくなります。
助けてください、みんなありがとう