小编Ham*_*Dev的帖子

为什么“C”中arr和&arr的地址相同

通过在我的计算机上运行这个程序,我得到了相同的地址。我支持 的情况array&array[0]我理解 的名称array指向 中第一项的地址array。而且两者都是一样的。

但我无法理解为什么 name ofarray&array指向同一个地址。我想到的是,它将打印存储数组中第一项地址的指针的地址。

代码

#include <stdio.h>

int main()
{
    char arr[3];

    printf("array = %p\n", arr);
    printf("&array[0] = %p\n", &arr[0]);
    printf("&array = %p\n", &arr);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出

array = 0061FF1D
&array[0] = 0061FF1D
&array = 0061FF1D
Run Code Online (Sandbox Code Playgroud)

c arrays pointers memory-address

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

标签 统计

arrays ×1

c ×1

memory-address ×1

pointers ×1