所以我只是在玩代码来查找数组长度....原始代码是:
#include<stdio.h>
int main()
{ int al;
int a[] = {1,2,3,4,5};
al= sizeof(a) / sizeof(a[0]);
printf("%d",al);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这给了我输出:
五
但是当我把表达式改为:
al= sizeof(&a[0]) / sizeof(a[0]);
Run Code Online (Sandbox Code Playgroud)
它给了我输出
2
如果a是&a[0]......那么为什么会这样?另外,如果&a代替&a[0]答案也是2.