形參定義成指定大小的數組

今天在百度知道上看見一個問題。

類似

char *func( char str[10]) {

       printf(“len= %d\n”, sizeof(str));

}

int main() {

       charstr[100] = “there is a problem”;

func(str);

}

 

首先對func函數了解,形參爲char str[10],實際上編譯器並不會看見這個10.而是作爲char str[]來處理。  所以即使你實參數組的長度大於10也無妨。


另外形參也是局部變量,函數結束,也會被銷燬的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章