C語言指標 p 和 p及 p的區別

2021-10-10 07:33:34 字數 542 閱讀 4497

今天覆習了一下c語言的指標題目,發現在很多**結果題目中都出現了表示式*p++、**++p和++*p,而這幾個表示式特別容易混淆。

那麼通過什麼方式區分他們呢,答案就是運算子優先順序。

++和 *(指標訪問運算子)優先順序相同,根據從右往左的結合性,因此等價於 *(p++),又因為後置++是先使用再自加,所以先取值 *p,然後再讓p加1.

*++p

++和 *(指標訪問運算子)優先順序相同,根據從右往左的結合性,因此等價於 *(++p),也就是先讓指標p加1,再取此時指標p的值。

++*p

++和 (指標訪問運算子)優先順序相同,根據從右往左的結合性,因此先取p的值p,然後再將值 *p加1。

可以將其做成**

a=第一步

第二步*p++

*pp++

*++p

++p*(++p)

++*p

*p(*p)+1

C語言之指標 p 和 p 區別

在c語言的指標運算中,經常會碰到以下用法 p p p p 在解決問題前,先了解一下基礎 1 號和 符號屬於同級運算,且優先運算順序是從右到左。2 a 表示 在當前一整句 中,a取原值,等該句 執行完畢 乙個分號表示一句 下一句 執行前,a會在原值基礎上加1。可以通過以下 理解 假設int a 3 那...

p 和 p的區別

p 和 p的區別 舉例,如清單3 cpp view plain copy include intmain void int p arr inta p 等價於a p 即a p p p 1 intb p 等價於b p 即p p 1 b p printf a d,b d n a,b return 0 例子...

c語言中的指標 p

一 什麼是指標 定義乙個變數,系統會為變數分配記憶體單元,記憶體單元的每乙個位元組有乙個編號,這個編號就是位址,所以這個位址就指向該變數單元,位址形象化地稱為 指標 也就是說通過它可以找到以它為位址的記憶體單元。二 指標變數 定義指標變數 基型別 變數名 int name 整型 char name ...