*p++和(*p)++一样吗

发布时间:2024年01月18日

大家好,今天给大家介绍*p++(*p)++的区别,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。

在这里插入图片描述

*p++(*p)++ 在 C/C++ 语言中具有不同的含义。

*p++:这个表达式的意思是先取指针 p 所指向的值,然后将 p 指向下一个元素。++ 操作是在指针 p 上进行的,而不是在 *p 上。
(*p)++:这个表达式的意思是先取指针 p 所指向的值,然后将该值加一。++ 操作是在 *p 上进行的,而不是在指针 p 上。
所以,*p++(*p)++ 的行为是不同的。

让我们通过一个简单的例子来说明这两者的区别:

假设有一个整数数组 a,其元素为 {1, 2, 3},并且指针 p 初始指向数组的第一个元素。

对于 *p++

首先,*p 的值为 1(取 p 所指向的值)。
然后,p 指向下一个元素,即数组的第二个元素。
所以,*p++ 的结果是 1,并且 p 的新值指向数组的第二个元素。

对于 (*p)++

首先,*p 的值为 1(取 p 所指向的值)。
然后,将该值加一,即 1++,结果为 2
所以,(*p)++ 的结果是 2

总结:在 *p++ 中,指针 p 移动到下一个元素,而在 (*p)++ 中,是 p 所指向的值增加。这就是两者之间的区别。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!

点击找小助理免费领取资料
在这里插入图片描述

文章来源:https://blog.csdn.net/D_ovis/article/details/135662452
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。