为什么指针不递增?

Ati*_*esh 3 c

请考虑以下代码

#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)