小编Ana*_*ziz的帖子

数组长度...使用sizeof运算符时的不同输出

所以我只是在玩代码来查找数组长度....原始代码是:

#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.

c arrays sizeof

2
推荐指数
1
解决办法
58
查看次数

标签 统计

arrays ×1

c ×1

sizeof ×1