www.ndwl.net > 计算机C语言中 指针变量p自增1 什么意思

计算机C语言中 指针变量p自增1 什么意思

自增就是+1的意思,地址+1就是指向下一个元素。例如 int array[3]={1,2,3}; int*p=array;//此时p指向array[0] p++;//这里的p自增,执行后p指向array[1]

自增就是+1的意思,地址+1就是指向下一个元素。例如 int array[3]={1,2,3}; int*p=array;//此时p指向array[0] p++;//这里的p自增,执行后p指向array[1]

int a[3][4],(*p)[4]; //p 是行指针 p++ 向后移一行 p=a[0]; //p指针指向二维数组的第0行 p++; //p指向二维数组的第1行 .....

自增就是+1的意思,地址+1就是指向下一个元素。例如 int array[3]={1,2,3}; int*p=array;//此时p指向array[0] p++;//这里的p自增,执行后p指向array[1]

可以使用。 对于TYPE *类型的p,可以使用p++或p--来实现p移动位置,指向下一个或上一个元素的效果。 在C语言中,指针的本质为地址,所以当TYPE*类型的指针在进行++或--运算时,其指向的地址值,会实际增加或减少TYPE所占内存的大校也就是说,从...

可以,你可以把它想象成一个字符指针,用它去指向一个字符串,然后可以一个一个字符的读出来

你是错把内存地址与指针变量等同起来了。内存地址是常量,不能自增或自减的,指针变量就是用来操作内存地址的,你可以把指针看成是宾馆的服务员,虽然每间客房的编号是固定的,不能自己改变,但服务员是活的,她可以拿不同房间的钥匙打开不同房...

int *origin = null;//保存最初的位置 int *p = .....//给要操作的指针赋初值,如int *p = a; origin = p;//保存 p++/p--之类的你想做的操作 要使用p的首地址,使用origin即可

比较下面两端程序 int a=0; printf("%d\n",a++); printf("%d",a); 这里的输出是 0 1 int a=0; printf("%d\n",++a); printf("%d",a); 这里的输出是 1 1 可以看出++a就是在执行语句之前就让a自增1,a++就是在执行该语句后再让a自增1.

数组不可以++ 指针变量可以实现本身的值的改变。如char *p="abc"; p++是合法的; 而数组char arr[] = "abc"; arr++是错误的。因为arr是数组名, 它是数组的首地址,是常量,而指针时变量。 但是可以a[0]++; 自增运算符的操作对象要求是可修改的...

网站地图

All rights reserved Powered by www.ndwl.net

copyright ©right 2010-2021。
www.ndwl.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com