printf("%d\n", sizeof(&a));//4/8 &a虽然是整个数组的地址,但是还是地址,sizeof(&a)计算的是一个地址的大小 printf("%d\n", sizeof(*&a));//16 &a是取的是整个数组的地址,解引用后就是整个数组,所以计算的是数组的大小; printf("%d\n", sizeof(&a + 1));//4/8 取整个数组的地址+1...
两者的关键区别在于:sizeof计算整个数组或字符串的大小,包括终止符;而strlen只计算到遇到的首对空字符'\0'前的字符数量。在数组运算中,sizeof数组名返回整个数组的大小,而数组名本身或取地址符(&)则表示整个数组或首元素的地址。对于一维和二维数组,sizeof会计算所有元素的总空间,而数组名通常表示...