小编And*_*rei的帖子

sizeof应用于数组的名称vs指向数组的第一个元素的指针

假设我宣布 int v[]={1,2,3,4,5};

我被教导过这v是指向v数组中第一个元素的指针.当我调用apply sizeofv,它返回20,我知道是5*sizeof(int),因为数组中有5个元素.

v+0也是指向数组中第一个元素的指针,但是sizeof(v+0)为4.

为什么sizeof(v)= 20和sizeof(v+0)= 4?

我希望它sizeof(v)也返回4,就像v一个指针,但它以某种方式还包含有关存储在数组中的元素数量的信息.对此有何解释?

c arrays pointers sizeof

4
推荐指数
1
解决办法
119
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1

sizeof ×1