2015-05-13 41 views

回答

0

爲什麼不改變表格:name

簡單,因爲n點的分配的數組name編譯時間,這不能由分配填充的基地址。要填充name本身,請改爲使用strcpy()

換句話說,一旦我們寫

n = "John"; 

然後n不指向name了。它成爲字符串文字"John"的指針。所以,name的內容不變。

如何寫文字到char表?

使用strcpy()

strcpy(n, "john"); 

,或者擺脫指針變量的完全,你可以直接寫

strcpy(name, "john"); 

+0

@GregHewgill aah..poor字眼。將更新。 –

+0

@GregHewgill希望現在很清楚。 –

+0

如果我這樣做:strcpy(name,「john」); 。這是更改(名稱)指針地址嗎? – user3191398

1

原因是n是一個指針,它改變了它指向的內容。變量name位於內存中的固定位置。第一個作業n = name;將指針n設置爲指向name。第二個作業n = "John";將指針n設置爲指向常量字符串"John"。第二次作業後,n不再指向name

爲了通過n指針字符串複製到name,使用strcpy()

strcpy(n, "John");