[問題] 將陣列當引數 傳到函數後size變了??
使用Dev-C++
程式碼如下:
#include <iostream>
using namespace std;
void test(int a[]);
int main(void)
{
int score[]={89,54,73,95,71};
cout<<sizeof(score)<<endl;
test(score);
}
void test(int a[])
{
cout<<sizeof(a)<<endl;
}
結果如下:
20
8
想請問為什麼傳入函數前的矩陣大小是20 byte
可是傳入函數後變成8 byte呢?
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.12.231
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1464533089.A.98F.html
推
05/29 22:49, , 1F
05/29 22:49, 1F
→
05/29 22:51, , 2F
05/29 22:51, 2F
推
05/29 22:56, , 3F
05/29 22:56, 3F
→
05/29 22:57, , 4F
05/29 22:57, 4F
→
05/29 22:59, , 5F
05/29 22:59, 5F
推
05/29 23:16, , 6F
05/29 23:16, 6F
→
05/29 23:18, , 7F
05/29 23:18, 7F
→
05/29 23:18, , 8F
05/29 23:18, 8F
→
05/29 23:22, , 9F
05/29 23:22, 9F
推
05/29 23:27, , 10F
05/29 23:27, 10F
→
05/29 23:27, , 11F
05/29 23:27, 11F
推
05/29 23:30, , 12F
05/29 23:30, 12F
→
05/29 23:30, , 13F
05/29 23:30, 13F
→
05/29 23:30, , 14F
05/29 23:30, 14F
→
05/29 23:30, , 15F
05/29 23:30, 15F
→
05/29 23:31, , 16F
05/29 23:31, 16F
→
05/29 23:33, , 17F
05/29 23:33, 17F
→
05/30 03:07, , 18F
05/30 03:07, 18F
→
05/30 03:07, , 19F
05/30 03:07, 19F
推
05/30 07:48, , 20F
05/30 07:48, 20F
→
05/30 07:48, , 21F
05/30 07:48, 21F
→
05/30 07:49, , 22F
05/30 07:49, 22F
推
05/30 09:30, , 23F
05/30 09:30, 23F
→
05/30 22:54, , 24F
05/30 22:54, 24F
推
05/31 18:42, , 25F
05/31 18:42, 25F
推
06/01 00:41, , 26F
06/01 00:41, 26F
推
06/19 10:19, , 27F
06/19 10:19, 27F