看板 C_and_CPP 關於我們 聯絡資訊
小弟淺見,按照答案,重新題目翻成簡單易懂的形式: "p是一個指標,所存的為y變數的位址" 若答案選(A),就成了p指標所指之內容為y變數之值的複製. 茲舉範例如下: int *p; int y; p = (int)malloc(sizeof(int)); y = 10; *p = y; //這時*p = 10, y = 10 *p = 100; //這時*p = 100, y = 10 看到這邊,我們就知道,p並沒有指向y變數的位址,否則改動*p時,y也會跟著改 再來我們看(C)的作法: int *p; int y; p = (int)malloc(sizeof(int)); y = 10; p = &y; //這時*p = 10, y = 10 *p = 100; //這時*p = 100, y = 100 y值會因為改動*p而跟著變動,所以p的確指向y變數的位址. 以上為小弟的想法. 謬誤之處,還望各位前輩不吝指教,謝謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.188.172
avhacker:雖然原題用語不是很精準,不過你的翻譯跟原題譯也差太多 09/03 18:04
avhacker:唔沒事,我看錯你的翻譯. 我覺得就很單純的說 p指向y即可 09/03 18:06
avhacker:不就很直覺嗎? 還是說考普考的人都不寫 code 的? 09/03 18:07
softwind:只是國文問題... p是指標 指向變數y的記憶體位址 這句話 09/04 01:07
softwind:p=&y同義, 選項(A) *p=y 要改成 *p==y 才會"正確" 09/04 01:09
softwind:你的2nd sample... p=malloc(); 還沒有free掉 就亂指? 09/04 01:11
DEATHX:歹勢,養成指標宣告後就直接malloc的習慣,結果又習慣python 09/04 01:36
DEATHX:的垃圾收集機制之後,就寫出了不倫不類的東西了, >_< 09/04 01:37