首页  >  文章  >  *p++和(*p)++有什么区别

*p++和(*p)++有什么区别

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原创
2023-05-23 11:48:198733浏览

*p++和(*p)++的区别是:1、*p++是后缀递增运算符的组合,(*p)++是一个后缀递增运算符应用于*p表达式;2、*p++表达式首先返回“p”指向的值,然后将“p”递增,(*p)++返回“p”指向的值,然后将该值递增。

*p++和(*p)++有什么区别

本教程操作系统:Windows10系统、C18版本、Dell G3电脑。

*p++和(*p)++的区别

*p++和(*p)++是两个不同的表达式:

  1. *p++: 这是一个后缀递增运算符的组合。首先,*p表达式将解引用指针p并返回指针指向的值。然后,指针p递增,指向下一个元素。因此,这个表达式首先返回p指向的值,然后将p递增。

  2. (*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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn