指针+1(指针++)

指针 +1(指针++)问题

我们都知道指针存放的是内存的一块地址,那么(指针++)意思是指针的地址+1吗

        int a = 2;
        int *p = &a;
        printf("%p\n",p);
        printf("%p\n",++p);

结果为

0x7ffc87cd74ac
0x7ffc87cd74b0

我们可以看出指针+1后实际地址移动了4个字节,也就是一个int型的大小。所以我们可以得出这样一个结论,指针++(指针+1)移动的大小由指针指向的数据类型决定,并不是简单的地址+1.

你可能感兴趣的:(C语言基础,指针,c语言)