#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
}
上面的代码给出了20forsizeof(array)和4for sizeof(&array[0])。
我所知道的不是将数组作为参数,而是可以传递它的第一个元素。他们不应该提供与 20 相同的输出吗?为什么&array[0]给出 4 作为结果?据我所知,char 存储在 1 个字节中?