看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) BCB 問題(Question): 想請問一下new所代表的意思? 例如 int a=3,*ptr; char buff[3]; ptr=new int;// 這行代表說建立一個int大小的空間並讓ptr指定? ptr=&a; sprintf(buff,"%d",*ptr); Edit1->Text=buff; 想請問一下有打第3行跟沒有打 到底有什麼差別? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.141.34
qrtt1:該看書的時候,還是要看書啊。這種問法請家教嗎@@? 11/21 22:43
sd016808:我已經盡力查了好幾本書了...但是書上的說明 我覺得很奇 11/21 22:48
sd016808:怪... 在int *ptr時 就已經配置了一塊空間給它了不是嗎? 11/21 22:48
diabloevagto:宣告空間+初始化 11/21 22:49
sd016808:為何要特別去配置一個可以容納整數大小的空間給它? 11/21 22:50
diabloevagto:int *ptr是配置那個指標的空間,但是指標指向的空間 11/21 22:50
diabloevagto:沒有配置,所以需要new來配置 11/21 22:50
diabloevagto:但你的new沒有給初值,所以只有配置而已 11/21 22:53
diabloevagto:http://codepad.org/TA5rwkX9 11/21 22:55
diabloevagto:你需要的是好好找一本書看清楚,指標不好懂!加油 11/21 22:56
sd016808:非常感謝! d大講的很容易懂! 11/21 22:56
diabloevagto:你可以注意看&ptr都對到一樣的,但是ptr不一樣 11/21 22:57
diabloevagto:因為指向的位置都不同,同時也表示*ptr都不同 11/21 22:57
diabloevagto:因為你同一個指標一直指向不同的地方,就像你一台車 11/21 22:57
diabloevagto:的目的地每次都不同,但都是同一台車子 11/21 22:58
TsinTa:這第3行是多打的吧@@" 用不到new阿....... 11/22 06:44
ericinttu:人家想要浪費一點記憶體嘛 (扭) 11/22 06:51
angleevil:最近才發現樓上是雙子 11/22 09:09
tomnelson:int *ptr只是知道有一個地址,但是地址在哪,裡面住誰都不 11/22 22:44
tomnelson:知道,這樣比喻原po不曉得了不了解? 11/22 22:45
tomnelson:new就是要產生地址,至於裡面要住誰(存放在地址內的東西) 11/22 22:46
tomnelson:則要自己去填入,不過new可能會幫你填0進去. 11/22 22:47
angleevil:int *ptr是門牌,指向int val的位置.這樣比喻就好 11/23 09:14
ericinttu:用門牌來比喻可能不太洽當,門牌應該用來當作真實記憶體 11/23 10:18
ericinttu:位置 11/23 10:18
uranusjr:我記得之前有看過是比喻成郵局的小信箱... 11/23 10:40
angleevil:~"~哀.其實一個比喻嘛.而且門牌可以移轉到不同的家阿 11/23 11:40
priv:大家對不看書的人都好有耐心... 11/23 13:07
priv:從第一章開始照著sample慢慢寫下來很難嗎.. 11/23 13:07
priv:為什麼一定要東查一個西找一個.. 11/23 13:08
angleevil:To priv 別激動 11/23 16:19
tropical72:http://0rz.tw/MBCjm 11/23 16:25
priv:沒激動啊,只是無言 11/23 16:31
sd016808:抱歉我比較笨了點...我已經從頭開始看 看完三本跟程式有 11/23 22:04
sd016808:關西的書了orz 可是三本書裡面對於new 本身的描述真的很 11/23 22:05
sd016808:少... 很抱歉問了這麼笨的問題= = 11/23 22:05
kvykn:我想建議你先學一下如何找一本適合你的書讀(認真) 11/24 00:28
angleevil:也不是笨.就你聽不懂老師上課講什麼.買的書也沒特別一章 11/24 08:54
angleevil:講解為何這樣用.然後這邊的人幾乎都搞懂指標.跟我一年前 11/24 08:55
angleevil:狀況差不多. 多學點細節的觀念會提升品質喔>. 11/24 08:56