*p++和(*p)++的区别是:1、*p++是后缀递增运算符的组合,(*p)++是一个后缀递增运算符应用于*p表达式;2、*p++表达式首先返回“p”指向的值,然后将“p”递增,(*p)++返回“p”指向的值,然后将该值递增。
本教程操作系统:Windows10系统、C18版本、Dell G3电脑。
*p++和(*p)++的区别
*p++和(*p)++是两个不同的表达式:
*p++: 这是一个后缀递增运算符的组合。首先,*p表达式将解引用指针p并返回指针指向的值。然后,指针p递增,指向下一个元素。因此,这个表达式首先返回p指向的值,然后将p递增。
(*p)++: 这是一个后缀递增运算符应用于*p表达式。首先(*p)解引用指针p并返回指针指向的值。然后,该值递增。因此,这个表达式首先返回p指向的值,然后将该值递增。
下面是一个示例代码,以说明两者之间的区别:
#include <iostream> int main() { int arr[] = {1, 2, 3}; int* p = arr; std::cout << *p++ << std::endl; // 输出: 1 std::cout << *p << std::endl; // 输出: 2 p = arr; std::cout << (*p)++ << std::endl; // 输出: 1 std::cout << *p << std::endl; // 输出: 2 return 0; }
在上述示例中,*p++首先输出p指向的值1,然后将p递增到下一个元素,现在p指向2。而(*p)++首先输出p指向的值1,然后将该值递增,现在p指向的值为2。这展示了两者之间的区别。
以上是*p++和(*p)++有什么区别的详细内容。更多信息请关注PHP中文网其他相关文章!