我正在阅读有关 C 中数组与指针的更多信息,并编写了以下程序。
#include <stdio.h>
int arr[10] = { } ;
typedef int (*type)[10] ;
int main()
{
type val = &arr ;
printf("Size is %lu\n", sizeof(val)) ;
printf("Size of int is %lu\n", sizeof(int)) ;
}
如果,我执行这个程序,则sizeof(val)
给定为 8,sizeof(int)
给定为 4。
如果val
是指向具有 10 个元素的数组的指针,它的大小不应该是 40。为什么是sizeof(val)
8 ?