指针基本操作总结-递增指针(++)(指针基础)

C中有自增运算符++,表示将变量自增1。自增运算符同样在指针中使用递增指向数组元素的指针可以让该指针移动至数组的下一个元素

如:ptr++相当于将ptr的值加4(假设定义的是int类型,占4个字节)。看如下的示例

#include<stdio.h>
int main(void){
	int arr[5] = {100, 200, 300, 400, 500};
	int *ptr1;
	ptr1 = &arr[0];
	printf("ptr1 = %p\n", ptr1);
	printf("ptr1指向的值:%d\n",*ptr1);
	printf("arr[0] = %d\n",arr[0]);
	ptr1++;
	printf("-----ptr1++后的结果-----\n");
	printf("ptr1 = %p\n", ptr1);
	printf("ptr1指向的值:%d\n",*ptr1);
	printf("arr[1] = %d\n",arr[1]);
	
	return 0;
}

输出结果

ptr1 = 000000bd469ffa30

ptr1指向的值:100

arr[0] = 100

-----ptr1++后的结果-----

ptr1 = 000000bd469ffa34

ptr1指向的值:200

arr[1] = 200

可以看到,ptr1存储的地址是000000bd469ffa30,也就是ptr1指向的是arr[0]。

自增之后

ptr1存储的地址000000bd469ffa34,增加了4,验证了本例中ptr1++相当于将ptr的值加4(ptr1是int类型)。自增之后指向的是arr[1]。

图示总结

原文链接:,转发请注明来源!