假設我們有以下的函數原型:char str []和char * str作爲函數參數有什麼區別?
void function1(char str[]);
void function2(char *str);
現在說我們有一個字符串char name[] = "John";
我們希望通過這些功能。兩者有什麼區別?他們的用途和限制是什麼?有沒有比其他人更喜歡的情況?如果字符串初始化爲char *name = "John"
,它會有所作爲嗎?
我理解在函數內使用char str[]
和char *str
的區別,但我不知道它們的行爲是函數參數還是參數。
如果你不屑四處看看,你肯定會找到答案。這已被問及許多次。 – 2013-04-27 23:51:34
如果您將整個標題複製/粘貼到Google搜索框中(正如我剛纔所做的那樣),您將獲得大量點擊。 – 2013-04-27 23:54:57
[函數定義中的指針與數組的區別:void fct1(int \ * p)和void fct1(int p \ [\])之間的區別是什麼?](http:// stackoverflow。com/questions/15261509/pointer-vs-array-in-function-definition-what-is-the-difference-between-void-fct) – fredoverflow 2013-04-27 23:57:58