首頁 >常見問題 >*p++和(*p)++有什麼差別

*p++和(*p)++有什麼差別

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌原創
2023-05-23 11:48:198791瀏覽

*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