動的な2次元配列
Posted: 2013年3月05日(火) 04:48
/* ar[0][0]
ar[1][0] ar[1][0]
ar[2][0] ar[2][1] ar[2][2]
配列領域を確保 */
#include <stdio.h>
#include <stdlib.h>
#define M 2
#define N 66
int main(void)
{
int m = 3;
int i;
int **ar;
ar=malloc(sizeof(int *)*m);
for(i=0;i<m;i++){
ar[i]=malloc(sizeof(int) * (i+1));
printf("iの値 %d\n",i);
}
ar[0][0]=10;
*(*(ar+M)+N)=1;
printf("二次元配列の出力 > %d \n",ar[0][0]);
printf("二次元配列の出力 ar[M][N] > %d \n",ar[M][N]);
}
なぜですか?