#include <stdio.h>
int main(void){
char array[20];
printf( "\nSize of array is %d\n", sizeof(array) ); //outputs 20
printf("\nSize of &array[0] is %d\n", sizeof(&array[0]); //output 4
}
上面的代码给出了20
forsizeof(array)
和4
for sizeof(&array[0])
。
我所知道的不是将数组作为参数,而是可以传递它的第一个元素。他们不应该提供与 20 相同的输出吗?为什么&array[0]
给出 4 作为结果?据我所知,char 存储在 1 个字节中?