[問題] 請問struct內字元陣列給初始值的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
想請問在自訂struct內的字元陣列給初始值的問題
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
typedef struct node{
char name[20];
int grade;
struct node *next;
}NODE;
int main(int argc, char *argv[]) {
NODE a;
*(a).name= "James";
a.name= "James";
a.grade= 100;
system("pause");
return 0;
}
補充說明(Supplement):
想請問一下
1. 為何a.grade= 100; 這樣的宣告是正確,但是a.name= "James"; 這樣的宣告是錯誤?
為什麼struct裡的字元陣列無法直接把字串給予?
2. *(a).name= "James"; 這樣的宣告會出現警告?
3. 對於struct內的字元陣列該如何給初始值才是正確?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.3.22
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1398281857.A.04D.html
→
04/24 03:41, , 1F
04/24 03:41, 1F
→
04/24 03:42, , 2F
04/24 03:42, 2F
→
04/24 03:43, , 3F
04/24 03:43, 3F
推
04/24 03:48, , 4F
04/24 03:48, 4F
→
04/24 22:50, , 5F
04/24 22:50, 5F