[問題] 宣告 struct 變數後給初始值

看板C_and_CPP作者 (linshihhua)時間6年前 (2017/09/11 20:16), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
譬如定義結構 struct data{ char name[10]; int age; }; 想請問分段先宣告再給值 struct data A; A = {"a", 10}; 為何不行? 而宣告值接給值卻可以 struct data A = {"a", 10}; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.224.163.247 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1505132204.A.B36.html

09/11 20:19, , 1F
就…跟陣列的規則一樣 詳細請樓下解釋
09/11 20:19, 1F

09/11 20:32, , 2F
因為沒有這樣的語法 但C99以後可以用compound literals做
09/11 20:32, 2F

09/11 20:32, , 3F
類似的事情 A = (struct data){"a", 10};
09/11 20:32, 3F

09/11 21:32, , 4F
C++11之後是可以的 叫做copy-list-initialization
09/11 21:32, 4F

09/12 13:06, , 5F
assignment 和 initialization 不一樣
09/12 13:06, 5F
文章代碼(AID): #1Pjdwiis (C_and_CPP)