看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《arick (arick)》之銘言: : 請問有沒有人有空可以解釋一下指標與參考的用法及使用時機 : 請問以下的寫法哪些有錯?錯在哪裡? : int ip=24; 正常的宣告 : int *p=1024; 宣告一個指向int的指標 並讓他指向1024這個位址 注意 1024可不是安全的位址 : int *q1=ip; q1這個指標指向24這個位址 如果你要指向ip 這是不正確的寫法 compiler還會丟出一個warning 表示型態不符 : int *q2=&ip; right 現在q2這個指標指向ip : int *q3=*p; p指向整數 "*p"是個整數 所以這樣寫也是不正確的 : int *q4; : q4=*p; : q4=ip; : q4=&p; 錯(上面的p是宣告成int*吧) : &p=ip; : &p=*q1; : &p=&ip; 這些都會compiler error 因為&只是取值運算 變數的位址是不能更動的 : ip=*&p; ^^^ 這個其實就是p的意思 不過ip是int p是int* 所以這樣寫也是錯的 : 高手們可否解答以上的問題呢 : 謝謝 上面我說寫得不正確 不是說一定會compiler error 而是這樣的錯誤: 1.把指標指向一個不安全的位址 2.把位址指定給整數 3.把整數指定給位址 2和3的狀況 通常compiler都會給warning -- ※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw) ◆ From: 61-216-134-60.HINET-IP.hinet.ne
laifei:這是連結錯誤... 61.64.118.10 07/09
laifei:對不起 我弄錯篇文章了 61.64.118.10 07/09