我有一個基本的說明。這是我試過的代碼片段。關於char數組的澄清
void fill(char s[])
{
strcpy(s,"temp");
}
int main()
{
char line[100];
fill(line);
printf("%s",line);
return 0;
}
如預期的那樣,輸出是temp
。 line
是本地數組,但它可以在fill
中修改,並反映回調用者。我的理解是,這是有效的,因爲當我們說fill(line)
我們實際上是傳遞一個數組的開始地址。
我正確嗎?
不是,所有東西都按C中的值傳遞。在這種情況下,該值恰好是地址(即指針)。 – dmc