[問題] C++ 陣列在呼叫函式中sizeof的值不一樣
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
在main中用sizeof 抓陣列的大小是預期的結果
但為什麼在呼叫的函式中用sizeof對同一個陣列大小的輸出值不一樣呢
若說回傳的是pointer的大小
那麼array name 其實是一個pointer
為什麼 sizeof(a) 和sizeof(*a)的值也不一樣呢
餵入的資料(Input):
int a[10]
預期的正確結果(Expected Output):
size of a = 40
size of pointer a = 4
size of a using getSize = 40
size of pointer a using getSize = 4
錯誤結果(Wrong Output):
size of a = 40
size of pointer a = 4
size of a using getSize = 8
size of pointer a using getSize = 4
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <iostream>
using namespace std;
void getSize(int []);
int main()
{
int a[10];
cout << "size of a = "<< sizeof(a) << endl;
cout << "size of pointer a = " << sizeof(*a) << endl;
getSize(a);
return 0;
}
void getSize(int array[])
{
cout << "size of a using getSize = " << sizeof(array) << endl;
cout << "size of pointer a using getSize = " << sizeof(*array) << endl;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 67.169.183.176
→
07/10 15:15, , 1F
07/10 15:15, 1F
→
07/10 15:18, , 2F
07/10 15:18, 2F
→
07/10 15:19, , 3F
07/10 15:19, 3F
→
07/10 15:19, , 4F
07/10 15:19, 4F
推
07/10 15:22, , 5F
07/10 15:22, 5F
→
07/10 15:23, , 6F
07/10 15:23, 6F
→
07/10 15:24, , 7F
07/10 15:24, 7F
→
07/10 15:25, , 8F
07/10 15:25, 8F
→
07/10 15:25, , 9F
07/10 15:25, 9F
→
07/10 15:26, , 10F
07/10 15:26, 10F
→
07/10 15:26, , 11F
07/10 15:26, 11F
→
07/10 15:26, , 12F
07/10 15:26, 12F
→
07/10 15:28, , 13F
07/10 15:28, 13F
→
07/10 15:28, , 14F
07/10 15:28, 14F
→
07/10 15:28, , 15F
07/10 15:28, 15F
→
07/10 15:30, , 16F
07/10 15:30, 16F
→
07/10 15:30, , 17F
07/10 15:30, 17F
→
07/10 15:31, , 18F
07/10 15:31, 18F
→
07/10 15:31, , 19F
07/10 15:31, 19F
→
07/10 15:33, , 20F
07/10 15:33, 20F
→
07/10 15:33, , 21F
07/10 15:33, 21F
→
07/10 15:34, , 22F
07/10 15:34, 22F
→
07/10 15:35, , 23F
07/10 15:35, 23F
→
07/10 15:36, , 24F
07/10 15:36, 24F
→
07/10 15:37, , 25F
07/10 15:37, 25F
→
07/10 15:39, , 26F
07/10 15:39, 26F
→
07/10 15:40, , 27F
07/10 15:40, 27F
→
07/10 15:40, , 28F
07/10 15:40, 28F
→
07/10 15:41, , 29F
07/10 15:41, 29F
→
07/10 15:42, , 30F
07/10 15:42, 30F
→
07/10 15:42, , 31F
07/10 15:42, 31F
→
07/10 15:45, , 32F
07/10 15:45, 32F
→
07/10 15:45, , 33F
07/10 15:45, 33F
→
07/10 15:47, , 34F
07/10 15:47, 34F
推
07/11 02:25, , 35F
07/11 02:25, 35F
→
07/11 02:26, , 36F
07/11 02:26, 36F
→
07/11 02:28, , 37F
07/11 02:28, 37F
→
07/11 02:29, , 38F
07/11 02:29, 38F
→
07/11 02:30, , 39F
07/11 02:30, 39F
→
07/11 02:31, , 40F
07/11 02:31, 40F
→
07/11 02:34, , 41F
07/11 02:34, 41F
→
07/11 02:35, , 42F
07/11 02:35, 42F
→
07/11 02:36, , 43F
07/11 02:36, 43F
→
07/11 09:32, , 44F
07/11 09:32, 44F
→
07/11 23:26, , 45F
07/11 23:26, 45F
→
07/11 23:27, , 46F
07/11 23:27, 46F
→
07/12 00:25, , 47F
07/12 00:25, 47F
→
07/12 12:30, , 48F
07/12 12:30, 48F
→
07/12 12:31, , 49F
07/12 12:31, 49F
→
07/13 02:42, , 50F
07/13 02:42, 50F
→
07/16 00:37, , 51F
07/16 00:37, 51F
→
07/16 00:38, , 52F
07/16 00:38, 52F
→
07/16 00:38, , 53F
07/16 00:38, 53F
C_and_CPP 近期熱門文章
11
46
PTT數位生活區 即時熱門文章