4
sizeof如何与对数组的指针取消引用一起工作?
在这里,我有一个指向4个整数的ptr数组arr的指针。ptr指向整个数组。ptr[0]或*ptr指向数组的第一个元素,因此加1即可ptr[0]得出数组第二个元素的地址。 我不明白为什么使用sizeof(ptr[0])给出整个数组的大小16个字节,而不是第一个元素的大小4个字节(ptr[0]指向数组中第一个元素)。 int arr[4] = {0, 1, 2, 3}; int (*ptr)[4] = &arr; printf("%zd", sizeof(ptr[0])); //output is 16