一個結構使用問題 |
答題得分者是:暗黑破壞神
|
syao
初階會員 發表:66 回覆:63 積分:25 註冊:2005-02-02 發送簡訊給我 |
#include是不是只能靠 scantf("%s",ptr->name); 或是 struct xx1 test={100,"hello"};//初始化 發表人 - syao 於 2005/07/03 15:34:22 |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
引言: char name[20]="hello";這樣為什麼不可以你不能在宣告結構時給值。 就好像上帝在造人時。 不能在被始時就把人都設成男的或是女的一樣。它必須是空白的。 引言: ptr->score=100;//這邊這樣設可以??為什麼下面的就不可以?? ptr->name="hello"; //或是我改在這設定為什麼不可以?你當然可以把 score 設值。 但字串的設值應使用 strcpy, memcpy,..etc 的方式使用。 而非使用 "=" 再去把書讀一讀吧。很基礎的觀念問題。 |
syao
初階會員 發表:66 回覆:63 積分:25 註冊:2005-02-02 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
引言: char name[20]="hello";//這樣也算是字串設值吧,是因為這樣初始化是ok?因為 name 不會拿去再複製成其它的。 而 struct A..... 會被這樣使用 A a; A b; ..... 那你在 A 中的 "hello" 要不要給 a & b 呢? 所以。在 A 中不得有初始值。 引言: 在結構指標使用 ptr->name="hello"; //是因為這不是初始化原因嗎??這種寫法是想死比較快啦。^_^ 因為你的 name 是以 array 來宣告的。 不是以 pointer 來宣告的。 兩種使用法不太相同。 還是那一句話 再去把書讀一讀吧。很基礎的觀念問題。 |
syao
初階會員 發表:66 回覆:63 積分:25 註冊:2005-02-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |