指针*p++和*p+1有什么区别?
时间: 2024-06-14 14:03:50 浏览: 119
指针*p++和*p+1有以下区别:
1. 指针*p++:这是一个后缀自增运算符,它先使用指针p指向的值,然后将指针p的值增加1。换句话说,它先解引用指针p,然后再将指针p的值增加1。例如,如果p指向一个整型数组的第一个元素,那么*p++将返回数组的第一个元素的值,并将指针p指向数组的第二个元素。
2. *p+1:这是一个解引用运算符和加法运算符的组合。它先解引用指针p,然后将解引用后的值加1。换句话说,它返回指针p指向的值加1的结果。例如,如果p指向一个整型变量,那么*p+1将返回该变量的值加1的结果。
总结起来,指针*p++先解引用指针再自增,而*p+1先解引用指针再加1。
相关问题
*p++与( *p)++有什么区别
*p++和(*p)++是两种不同的表达式,它们之间有以下区别:
1. *p++:这个表达式先对指针p进行解引用,然后再对p进行递增操作。换句话说,它先取出p指向的值,然后再将p的值加1。这个表达式的值是解引用前的p指向的值。
2. (*p)++:这个表达式先对指针p进行解引用,然后再对解引用后的值进行递增操作。换句话说,它先取出p指向的值,然后再将该值加1。这个表达式的值是解引用后的p指向的值加1。
总结起来,*p++是先解引用再递增,而(*p)++是先解引用后递增。这两个表达式的结果值是不同的。
*(p++) 与*p++有什么区别
*(p++)和*p++的区别在于运算符的结合规律和执行顺序。
1. *(p++):这是一个后缀表达式,先取p指针指向的值,然后将p指针自增。换句话说,先使用p指针指向的值,再将p指针向后移动一个位置。
2. *p++:这是一个前缀表达式,先将p指针自增,然后再取p指针指向的值。换句话说,先将p指针向后移动一个位置,再使用移动前的p指针指向的值。
所以,*(p++)和*p++的区别在于先后顺序,一个是先取值再自增,一个是先自增再取值。
阅读全文