计算数组元素个数

2017/06/26

#include

int main(){

    int a[] = {0,1,3,5};
    char *b[] = {
        "slsjlf",
        "slfj;sf",
        "slkfjsdkfs",
        "sss",
    };
    printf("yy:%d xx:%d\n",sizeof(a),sizeof(a) / sizeof(a[0]));
    printf("zz:%d\n",sizeof(b) / sizeof(b[0]));
}

这个程序在gcc 4.9.3上跑的,没有问题。


我也是比较疑惑,为什么可以用sizeof计算。
拿a[]来说,a代表的是一个地址,还是说,编译器做了哪些处理。
先就这样记着把。

你可能感兴趣的:(计算数组元素个数)