C語言指針問題:在定義指針時(shí)*p=a和p=a有區(qū)別嗎?
3 回答

慕桂英4014372
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
在定義指針時(shí),指針變量名前的*號(hào)是必須的,不能少,區(qū)別于普通變量, 說明當(dāng)前變量是指針變量,而不是普通的變量。
對(duì)于你的問題,我舉例說明:
情形一:
int a[5]={1,2,3,4,5};
int *p=a;//這是在定義指針變量p的同時(shí)就直接給它初始化,即把數(shù)組a的首地址賦給它。
情形二:
int a[5]={1,2,3,4,5};
int *p;//聲明指針變量p
p = a;
這里的話是先聲明指針p,然后再對(duì)它初始話,等價(jià)于情形一,只是分開寫法而已。

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
*p=a
是p所指向地址的內(nèi)容是a(比如一個(gè)數(shù),或字符)
p=a
是p指向a(比如0x0001)這個(gè)地址
- 3 回答
- 0 關(guān)注
- 2762 瀏覽
添加回答
舉報(bào)
0/150
提交
取消