int (* p)[12];这是数组指针,指针的类型为(*)[12],即指针指向的类型为12个元素的整形数组。
p = (int*) malloc(12*sizeof(int));这里说明p的类型为一个整型 int *。
显然类型不匹配!
int (* p)[12];
p = (int (*)[12]) malloc(12*sizeof(int));
char (* p)[2][3];
p = (char (*)[2][3]) malloc(6*sizeof(char));
char (* p)[][3];
p = (char (*)[][3]) malloc(6*sizeof(char));高维不可省略
对于二重指针是分两步,比如:
float **Cluster=(float **)malloc(sizeof(float *)*K)
for(i=0;i<K;i++)
Cluster[i]=(float *)malloc(sizeof(float)*N);
温馨提示:答案为网友推荐,仅供参考