【发布时间】:2021-11-09 23:16:59
【问题描述】:
我有以下代码,它具有指向二维数组的指针变量指针。
int main()
{
int (*ptr)[2][3];
printf("%u\n", sizeof(ptr)); // ---> give size of pointer = 8
printf("%u\n", sizeof(*ptr)); // ---> give size of array = 24, how it works adding * to ptr gives array size
return 0;
}
【问题讨论】:
-
sizeof(*ptr)为您提供ptr指向的大小,这是一个 2×3 整数数组。所以它应该和int a[2][3]; sizeof(a)一样,看起来就是这样。 -
您是指大小(24 字节)还是形状(2×3)?
标签: c pointers multidimensional-array sizeof dereference