请考虑以下代码
#include<stdio.h>
int main()
{
int a[5];
int *ptr=a;
printf("\n%u", &ptr);
++ptr;
printf("\n%u", &ptr);
}
Run Code Online (Sandbox Code Playgroud)
在输出上我得到相同的地址值,为什么指针地址没有递增.
jua*_*nza 11
指针正在递增.问题是你正在查看指针本身的地址.变量的地址不能改变.你的意思是查看指针的值,即它存储的地址:
printf("\n%p", ptr);
Run Code Online (Sandbox Code Playgroud)