[問題] 陣列在傳進函式之後 sizeof 的值會不一樣
程式碼22行而已 所以直接貼上來
1 #include <stdio.h>
2
3 size_t getSize( float *ptr );
4
5 int main( void )
6 {
7 float array[ 20 ];
8
9 printf( "The number of bytes in the array is %d"
10 "\nThe number of bytes returned by getSize is %d\n",
11 sizeof( array ), getSize( array ) );
12
13 return 0;
14
15 }
16
17
18 size_t getSize( float *ptr )
19 {
20 return sizeof( ptr );
21
22 }
執行結果:
The number of bytes in the array is 80
The number of bytes returned by getSize is 4
問題(Question):
還是看不懂為什麼第一個答案是80
第二個答案是 4
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.65.238
※ 編輯: iamchyun 來自: 114.42.65.238 (05/29 00:08)
→
05/29 00:09, , 1F
05/29 00:09, 1F
→
05/29 00:10, , 2F
05/29 00:10, 2F
推
05/29 00:15, , 3F
05/29 00:15, 3F
→
05/29 00:17, , 4F
05/29 00:17, 4F
→
05/29 00:17, , 5F
05/29 00:17, 5F
→
05/29 00:18, , 6F
05/29 00:18, 6F
推
05/29 00:35, , 7F
05/29 00:35, 7F
→
05/29 00:35, , 8F
05/29 00:35, 8F
推
05/29 00:41, , 9F
05/29 00:41, 9F
→
05/29 00:41, , 10F
05/29 00:41, 10F
→
05/29 00:41, , 11F
05/29 00:41, 11F
→
05/29 00:52, , 12F
05/29 00:52, 12F
→
05/29 01:25, , 13F
05/29 01:25, 13F
→
05/29 02:47, , 14F
05/29 02:47, 14F
→
05/29 12:30, , 15F
05/29 12:30, 15F
→
05/29 12:31, , 16F
05/29 12:31, 16F
→
05/29 12:32, , 17F
05/29 12:32, 17F
推
06/01 00:32, , 18F
06/01 00:32, 18F