推 LPH66:所以這題出爛了.... 09/23 10:29
→ LPH66:出這題的人根本不知道他出了什麼東西 = = 09/23 10:29
推 LPH66:不是這個問題吧 這 0x123456789 是給 pointer 的 09/23 10:34
→ LPH66:誰管它裝不裝得進 long... 09/23 10:34
→ angleevil:但是我有疑問,可以直接把數值當位置嘛? 09/23 10:39
→ shadow0326:而且long也不一定裝的下0x123456789吧 09/23 10:48
推 cutecpu:「設定其值為0」<= 是設定怎樣型態的值為 0 呢XD 09/23 11:07
推 ledia:可能反問他: "你真的知道自己在問什麼嗎" 就過關了 09/23 11:33
→ a5480277:真的是出爛了... 09/23 11:55
推 johnhmj:出題者可能還活在DOS的時代裡 ( ̄ー ̄;) 09/23 14:44
→ priv:不是吧,DOS的話你是要怎樣直接32-bit定址 09/23 15:14
→ priv:這題不管用什麼角度看都是錯誤的題目 09/23 15:15
→ priv:更正,他超過32-bit 09/23 15:15
→ priv:拿到64bit machine上面,以現代的OS和compiler 09/23 15:17
→ priv:你只會得到access error的結果吧XD 09/23 15:17
→ priv:還有如果在VC,long int是32 bit,要long long int才裝得下 09/23 15:18
→ priv:如果這個是面試的主管自己出的...還是不要去這家公司好了XD 09/23 15:19
→ priv:而且和原po說的一樣...pointer的size和type size無關 09/23 15:26
→ angleevil:贊成,不需要去一個不會寫程式主管的公司 09/23 15:27
這是這本書上面的題目啦
http://www.books.com.tw/exep/prod/booksfile.php?item=0010445260
我想應該是有很多誤刊的地方
所以結論是?
這個地址0x123456789 應該是裝不進 任何pointer的 (以32bit來說)
另外沒有人可以知道記憶體位址 然後還可以assign給某個pointer的 很怪
對了另外想問
目前電腦大多都已經64bit的了
那如果去面試還是會考32bit的考題嗎?以上謝謝大家的討論!
※ 編輯: k0783154 來自: 140.112.4.181 (09/23 17:04)
推 tropical72:我補一下priv說的,long long int 要寫成.. 09/23 17:43
→ tropical72:p=(long long int*)0x123456789LL; 09/23 17:43
→ ariesd:這本書錯誤超多... 09/23 20:08
推 cgcheng:所以你應該要問對方,你這哪裡抄來的,亂抄一通 09/27 03:03