Re: [問題] 99年普考 指標問題

看板C_and_CPP作者 (幽光)時間15年前 (2010/09/03 07:15), 編輯推噓0(008)
留言8則, 3人參與, 最新討論串1/1
小弟淺見,按照答案,重新題目翻成簡單易懂的形式: "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

09/03 18:04, , 1F
雖然原題用語不是很精準,不過你的翻譯跟原題譯也差太多
09/03 18:04, 1F

09/03 18:06, , 2F
唔沒事,我看錯你的翻譯. 我覺得就很單純的說 p指向y即可
09/03 18:06, 2F

09/03 18:07, , 3F
不就很直覺嗎? 還是說考普考的人都不寫 code 的?
09/03 18:07, 3F

09/04 01:07, , 4F
只是國文問題... p是指標 指向變數y的記憶體位址 這句話
09/04 01:07, 4F

09/04 01:09, , 5F
p=&y同義, 選項(A) *p=y 要改成 *p==y 才會"正確"
09/04 01:09, 5F

09/04 01:11, , 6F
你的2nd sample... p=malloc(); 還沒有free掉 就亂指?
09/04 01:11, 6F

09/04 01:36, , 7F
歹勢,養成指標宣告後就直接malloc的習慣,結果又習慣python
09/04 01:36, 7F

09/04 01:37, , 8F
的垃圾收集機制之後,就寫出了不倫不類的東西了, >_<
09/04 01:37, 8F
文章代碼(AID): #1CWA1-AP (C_and_CPP)