**p :二级指针,表示p所指向的地址里面存放的是一个指向类型的指针。
*p:一级指针,表示p所指向的地址里面存放的是一个类型的值。
扩展资料:
指针变量可以进行加减运算,例如p++、p+i、p-=i。指针变量的加减运算并不是简单的加上或减去一个整数,而是跟指针指向的数据类型有关。
给指针变量赋值时,要将一份数据的地址赋给它,不能直接赋给一个整数,例如int *p = 1000;是没有意义的,使用过程中一般会导致程序崩溃。
使用指针变量之前一定要初始化,否则就不能确定指针指向哪里,如果它指向的内存没有使用权限,程序就崩溃了。对于暂时没有指向的指针,建议赋值NULL。
两个指针变量可以相减。如果两个指针变量指向同一个数组中的某个元素,那么相减的结果就是两个指针之间相差的元素个数。
数组也是有类型的,数组名的本意是表示一组类型相同的数据。在定义数组时,或者和 sizeof、& 运算符一起使用时数组名才表示整个数组,表达式中的数组名会被转换为一个指向数组的指针。
参考资料:
c语言中++*p是什么含义?
p:一级指针,表示p所指向的地址里面存放的是一个类型的值。
++(*p)在c语言中的意思
p是指针p所存放的的值,如int a=3;int *p=&a;++(*p)就是 4
c语言中*++p与++*p有什么区别
首先你要明白再C语言中*的优先级低于++的,所以对于*++p来说是先将指针p向后移动一位后再取出p所指地址里面的内容 而++*p是先取出p所指地址里面的内容,然后再将取出的这个值自加1.
C语言*++p表示什么意思?
++p是取++p的返回值所指向的数据
c语言中* p++的意思是什么?
p++是指下一个地址。++和*的优先级是一样的,不过它们计算时都是从右向左算的。
c语言* p++是什么意思?
P++ :*和++都是同级运算符,右结合。但++要整个表达式运算完了才运算,先提取P指向对象的值,然后P再做++运算,指向下一个对象。*p++的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1。下面具体区分 1、*p++:只将p加1 2、++p or p++:将p加1 3、++*p:将*p所指单元加1 ...
c语言中的* p++什么意思?
意思是根据*和++的优先级判断,那个高p就先和那个结合。c语言*p++ 就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:1、取数组当前位置的值*p;2、然后,p指向下一位置的数据。
C语言中*p++与*++p还有++*p有什么区别?
如果*p=1 printf("%d",*p++)就等于1 如果*p=1 printf("%d",++*p)就等于2 这就是前缀和后缀的区别 ++p是指针向前移动一格再取值
C语言中 *(p++) p++ *p++ ++*p (*p)++ 分别是什么意思
是*p与++结合,变量是 *p 得出结论:(*p)++ \/\/是指针所指地址中的数据值在增加 (不同点)小结:因为(tip1、tip2)可得出:1.指针所指地址自增 p++等同于*(p++)++p等同于*(++p)2.指针所指地址中数据自增 ++(*p)等同于++*p (*p)++ (左自增:先求变量变化,再输出)形式:+...
C语言指针中的++p与++*p的区别
++P是另P+=1,而++*P是取到*P的值,然后P+=1... 追问 如果p原来是1,经过++p后指向下一个地址 但是下一个地址没有值 此时++p是不是保留上面的值 是不是这个意思 追答 因为你在传递n的时候使用的是单向的值传递,所以m的值是不会改变的...如果你把函数的类型改了,加上return语句,再执行输出...相...