【发布时间】:2019-05-07 10:13:58
【问题描述】:
在这段代码中,
int a[] = {1, 2, 3, 4, 5};
printf("a = %p, &a = %p\n", a, &a);
打印a 和&a 的相同地址。据我所知,a 是指向数组第 0 个元素的 const 指针。为什么a的地址和内容是一样的?
【问题讨论】:
-
当您使用
%p规范时,不要忘记将参数转换为void *:printf("a = %p, &a = %p\n", (void *)a, (void *)&a)。 -
a不是 const 指针;它是一个数组。看看重复的。
标签: c arrays memory-address