[問題] 動態記憶體疑問

看板C_and_CPP作者 (香蕉)時間14年前 (2011/08/09 10:42), 編輯推噓3(306)
留言9則, 8人參與, 最新討論串1/1
問題(Question): 動態配置時會從記憶體拿一塊新的記憶體給變數(物件) 但我若分開寫成2行例如 1. int *a; // 這行宣告,但同時也會配置了記憶體 2. cout << &a << endl; // 看分配到的位址 3. a = new int(5); // 動態配置 4. cout << &a << endl; // 看分配到的位址 這樣還會是"動態配置"嘛? 因為第1行變數一宣告就會分配記憶體 而我看位址時2.4行結果是都一樣的 所以第3行執行時沒有做動態分配記憶體的動作? 我個人是覺得 因為之前已經分配過了,所以執行時期不再分配新的記憶體 這個問題每次看到動態分配都會想到... -- ˋ〃ˊ╔═╦══╦════╗ @︵@宅度0 ∵)3∵ ◢█◣  ╠══╬════╣ ▊star..█ █  魅力10000000 fuck ██ ◥█◤ ╚═╩══╩════╝ ███ by lordwill -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.97.57

08/09 18:45, , 1F
不要用"你覺得",請看code,好嗎?
08/09 18:45, 1F

08/09 19:00, , 2F
請複習指標觀念 你應該要看a的值而不是a的位置
08/09 19:00, 2F

08/09 19:00, , 3F
動態的不是這個a ...而是 int(5) 的那些
08/09 19:00, 3F

08/09 19:13, , 4F
你該看的是 cout << a << endl;
08/09 19:13, 4F

08/09 19:28, , 5F
指標指向空間...恩,書本沒講嗎?
08/09 19:28, 5F

08/09 22:06, , 6F
請搞清楚 & 是幹嘛用的
08/09 22:06, 6F

08/09 22:17, , 7F
這觀念真的錯很大........
08/09 22:17, 7F

08/10 00:38, , 8F
指標a說「我已經取得int(5)位址,卻要我顯示自己的位址」
08/10 00:38, 8F

08/10 08:32, , 9F
指標a說:設計者,你有毛病
08/10 08:32, 9F
文章代碼(AID): #1EGGyKQs (C_and_CPP)