1樓:桑愛景戲辛
首先要明白指標是什麼?指標就是乙個4位元組的值(32位機器)用來存放乙個具體的位址,*號是用來取值的也就是取相應位址上的值,當然也可以對相應位址位置賦值;&是取位址符,&a表示去變數a的位址,這句完全是可以的。把a的位址(乙個32位的值)付給指標p所指向的位置(當然必須指標p的型別是32位的),在實際應用中這樣用是不對的,應該是p=&a;用指標p指向a的位址。
2樓:將素枝閔珍
*p=&a;
看在什麼情況
第一種int
a=0;
int*p=&a;
這在定義時候是完全沒問題的,你改寫一下
int*
p=&a;
這個是完全等價的
那麼看見的就是給p賦值了,和下面的等價
inta=0;
int*p=0;
p=&a;
第二種int
a=0;
int*p=0;
*p=&a;
這個編譯是會報錯的,&a得到了a的位址
就是乙個int*
的資料,複製給*p
,p是int*
,*p就是int
int*到int
就會報錯!
第三種int
**p;
inta;*p=
&a;這個朋友的也是對的,你再拆開定義
看看(int*)*p
當然括號只是為了理解,
這裡p是指標的指標(當然也是指標,只是指標指向的值又當作指標),那麼*p也就是指標,給乙個指標賦值位址是沒問題的
c語言中,這個語句是什麼意思啊C語言中For語句後面的括號裡有兩個分號是什麼意思啊?
tp a a b b tp是交換了ab的指向,不影響主函式,t a a b b t是改變了位址上的值,也就是把i和j的值互換。所以函式中 a b的輸出對應是j 3,i 7,主函式輸出ij這個沒什麼好說的,p和 q還是ij的值。1 加 交換的是位址,會改變主函式中i和j的值,swap交換的是i和j的位...
C語言中的for語句是很難的?該這樣學呢
怕什麼.我也是大一走過來的,重要的是興趣 我大一掛了好多科,惟獨c考到了90多.我們班人都稱我強人.今年學習資料結構,老師檢查我們程式時走到我跟前說 你的不用檢查了,我相信你。我是我們班唯一乙個有這種待遇的人。加油。真的不難。沒意志成不了事 這點小問題你就想放棄麼?那你永遠錯過了程式設計世界的美妙 ...
問個C語言中for語句巢狀if的問題
d 0也就是說d為真,那麼應抄該執行 ee執行完畢後執行c 如此反覆,直到b為0,執行f 我想你想問的是d為0時的情況,那麼執行c,直到b為0,執行f我不已經說了麼,我想你想問的是d為0時的情況,那麼執行c,直到b為0,執行f 當d 0時 返回執行c。如果滿足b,就再執行d,不滿足就執行f c語言高...