我们如何分配指向数组的指针

时间:2012-01-21 15:05:38

标签: c

我在接受采访时被问到,有一个指向10个整数数组的指针,如下所示。

 int (*p)[10];

如何动态分配?

这是我做过的事情

p=(int *)malloc(10*sizeof(int));

但它看起来不对,因为我没有做正确的类型转换。

所以我想知道* p ??

的类型是什么

与int * p类似,p的类型为int。

1 个答案:

答案 0 :(得分:9)

以下是如何分配:

p = malloc(sizeof *p);

p = malloc(sizeof (int [10]));

p的类型为int (*)[10]*p的类型为int [10]

p是指向int的数组10的指针,而*pint的数组10。