二次元配列のmalloc
二次元配列のmallocってデータの領域とポインタの領域の両方を確保するのクソ面倒ですよね
どうにかならないのかねぇ
#include<stdlib.h> #define gyo 100 #define retsu 200 int main(){ // n*mの二次元配列を int i, n = gyo, m = retsu; // 各列?の先頭を指すポインタの配列 double **a = (double **)malloc(sizeof(double *)*n); // 各データを一列に a[0] = (double *)malloc(sizeof(double)*(n*m)); // 各列の先頭を指す作業 for(i=1;i<n;i++) a[i] = a[i-1]+m; /* なんか処理 */ // データをフリーして free(a[0]); // ポインタをフリーする free(a); }
ポインタってめんどくさいですよねー。