【发布时间】:2021-03-18 04:10:03
【问题描述】:
所以我正在研究数组和指向数组的指针,我发现了这段代码。 我想知道为什么最后一个的地址是FE14,不应该是第一个元素的地址加上(数据类型的大小)是4,所以我应该是FE04?
#include <stdio.h>
int main()
{
int arr[5];
printf("%p\n",arr); //----> the output FE00
printf("%p\n",arr+1); //----> the output FE04
printf("%p\n",&arr); //----> the output FE00
printf("%p\n",&arr+1); //----> the output FE14
}
【问题讨论】:
-
附带说明,在使用
%p格式说明符打印它们之前,将指针转换为类型void *。另外,arr和&arr[0]是一回事。
标签: arrays c pointers memory-address