p 是什麼意思?

2022-10-10 21:33:29 字數 1264 閱讀 9184

利用指標引用陣列元素,比較方便靈活,有不少技巧。在專業人員中常喜歡用一些技巧,以使程式簡潔。在看別人寫的程式時可能會遇到一些令人混淆的情況,要仔細的分析。

請分析下面幾種情況(設p開始時指向陣列a的首元素(即p=a)。

①    分析:

p++;

* pi;

p++使p指向下一元素a[1]。然後若再執行* p,則得到下乙個元素 a[1]的值

*p++;
由於++和*同優先順序,結合方向為自右而左,因此它等價於 *(p++)值。

先引用p的值然後,實現*p的運算,然後使p自增1

例8.7 的第2個程式中最後乙個 for語句

for(i=0;i<10;i++,p++)

printf("%d", * p);

可以改寫為

for(i=0;i<10;i++);

printf("%d」,*p++);

* p就是下乙個元素的值。

③ *(p++)與*(++p)的作用是否相同?

不相同前者是取*p值然後使p加1;

後者是先使 p加1,再取*p,若p初值為a(即&a[o]),

如果輸出*(p++)得到 a[0]的值,

而輸出*(++p),得到a[1]的值。

④++(*p)表示p指向元素加1,如果p=a,則++(*p)相當於++a[0],若a[0]的值為3,則在執行++(*p)(即++a[0])後a[0]的值為4。注意:是元素a[0]的值加1,而不是指標p的值加1;

⑤ 如果 p當前指向 a陣列中第i個元素 a[i],則:

*(p--)相當於a[i--],先對p進行「*」運算(求p所指向的元素的值),再使 p自減。

*(++p)相當於a[++i]先使p 自加,再進行「*」運算。

*(--p)相當於a[--i]先使 p 自減,再進行「*」運算。

將++和--運算子用於指標變數十分有效,可以使指標變數自動向前或向後移動,指

例如,想輸出 a陣列的100個元素,可以用下面的方法:

p=a;

while(p或

p=a;

while(p但如果不小心,很容易弄錯。

因此在用*p++的運算時,定要十分小心,清楚是先取p值還是先使p加1。

有什麼不足的地方歡迎各位大佬指正

作業系統:windows10

軟體:devc++

編譯器:tdm-gcc 4.9.2 64-bit release

uma是什麼意思 UMA是什麼意思?

展開全部 uma 不明生物 是636f707962616964757a686964616f31333431376537動畫 進化戰記 betterman 中的一類人造怪物的統稱,是生命工學食料研究所 b.p.l.所長梅崎博士製造出來 協助他利用阿尼瑪斯之花 大量製造蛋白質 具有驚人攻擊性的怪物。阿拉...

是什麼意思?

meta是html中的元標籤,其中包含了對應html的相關資訊,客戶端瀏覽器或伺服器端的程式會根據這些資訊進行處理。http equiv類似於http的頭部協議,它回應給瀏覽器一些有用的資訊,以幫助正確和精確地顯示網頁內容。content 內容型別 重要!這個網頁的格式是文字的,網頁模式 chars...

In 是什麼意思

函式引數型別前 in 代表什麼 在visual c 中屬於sal批註,是為了編譯系統在分析 時發現缺陷用的 表示是乙個輸入引數。可以定義乙個 in 的巨集,這個巨集什麼都不做,就是形如這樣的。define in void fun int in x 等同於 void fun int x 但是他給出了引...