1. 程式人生 > >數組作為參數傳遞的時候,被調用的函數內無法計算出數組的大小

數組作為參數傳遞的時候,被調用的函數內無法計算出數組的大小

數組 bsp return images 傳遞 方法 %d alt span

技術分享 
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int ff (int c[])//被調用的函數
 4 {
 5     int e;
 6     e = sizeof (c) ;
 7     return e;
 8 }
 9 int main(void) { 
10     
11    int c[7] = {1,2,3,6,2,2,7};
12    
13     int e,k;
14     e = sizeof (c);
15     
16     k = ff(c);
17     printf("
%d###%d",e,k);//執行結果,28###8 18 19 return 0; 20 }

在main函數中,sizeof可以計算出數組真實的所占內存大小。但是調用ff函數時候,ff函數只把實際參數當成一個指針來看待,並不清楚他是一個需要占用多大內存

圖片截取自現代方法第九章第3節

數組作為參數傳遞的時候,被調用的函數內無法計算出數組的大小