[問題] 一些array、pointer大小的觀念..
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
c++
有問題的code: (請善用置底文標色功能)
我打一些簡單的code說明我想詢問的觀念
int a[5]={1,2,3,4,5};
int* b=a;
sizeof(a); // 4*5=20 bytes
sizeof(b); // 4 bytes
請問該如何解釋a、b大小不同的情況呢?
a也是一個 pointer不是嗎? 我以為a跟b是等價的兩個變數
b的大小很合理 那a因為是個陣列
所以分配了比較多的記憶體用來儲存這個int pointer嗎?
我應該有某個基礎觀念沒弄清楚... 可以請大大解惑嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.147.254
→
09/15 23:30, , 1F
09/15 23:30, 1F
→
09/15 23:34, , 2F
09/15 23:34, 2F
→
09/15 23:34, , 3F
09/15 23:34, 3F
推
09/16 02:05, , 4F
09/16 02:05, 4F
→
09/16 02:05, , 5F
09/16 02:05, 5F
→
09/16 02:06, , 6F
09/16 02:06, 6F
推
09/16 02:10, , 7F
09/16 02:10, 7F
推
09/16 02:48, , 8F
09/16 02:48, 8F
→
09/16 02:50, , 9F
09/16 02:50, 9F
→
09/16 02:51, , 10F
09/16 02:51, 10F
→
09/16 02:51, , 11F
09/16 02:51, 11F
推
09/16 09:30, , 12F
09/16 09:30, 12F
→
09/16 12:15, , 13F
09/16 12:15, 13F
→
09/16 12:15, , 14F
09/16 12:15, 14F
推
09/16 15:28, , 15F
09/16 15:28, 15F
推
09/17 01:16, , 16F
09/17 01:16, 16F
→
09/17 01:17, , 17F
09/17 01:17, 17F
→
09/17 01:18, , 18F
09/17 01:18, 18F