C語言結構體中字串賦值

2021-09-25 02:23:14 字數 467 閱讀 5702

struct student 

char name[20];

#include

main()

struct student s1;

s1.name = "zhang";

printf("%s\n", s1.name);

return 0;

以上的**,編譯會提示出錯,因為在c結構體中,字串不能直接這樣賦值,需要用字串拷貝語句strcpy,如下**:

struct student 

char name[20];

#include

#include

main()

struct student s1;

strcpy(s1.name, "zhang");

printf("%s\n", s1.name);

return 0;

這樣結構體中字串就可以正常輸出了

結構體中字元陣列賦值字串問題

今天在看結構體變數時發現乙個問題 問題 如下 int main s1 s1.c china printf s s1.c return 0 輸出結果為空,不知道是為什麼?經過網上的答案盡是如此 c語言只有在定義字元陣列的時候才能用 來初始化變數,其它情況下是不能直接用 來為字元陣列賦值的,要為字元陣列...

結構體中字元陣列賦值字串問題

今天在看結構體變數時發現乙個問題 問題 如下 int main s1 s1.c china printf s s1.c return 0 輸出結果為空,不知道是為什麼?經過網上的答案盡是如此 c語言只有在定義字元陣列的時候才能用 來初始化變數,其它情況下是不能直接用 來為字元陣列賦值的,要為字元陣列...

c語言結構體賦值問題

對於結構體賦值問題 1 static psl 我過去一般會對結構體這樣賦值 static psl pslname 記住有一點,b 後面的逗號可有可無,至於具體為什麼,我只能理解自己能力還不夠。現在只知道可有可無。上面這種賦值方式是對的。看看下面的一種賦值方式 static psl pslname 這...