大家好,今天给大家介绍*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。里面学习内容、面经、项目都比较新也比较全!
点击找小助理免费领取资料