69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
int main(void)
{
struct stu {
int num;
char name[20];
} s, ss, sss;
sss = { 1, "Leonard" }; //非定义时初始化
s.num = 1; strcpy_s(s.name, "Tyler");
ss.num = 1; strcpy_s(ss.name, "Jason");
printf("s.num = %d, s.name = %s\n", s.num, s.name);
printf("ss.num = %d, ss.name = %s\n", ss.num, ss.name);
printf("sss.num = %d, sss.name = %s\n", sss.num, sss.name);
getchar();
return 0;
}
#include <stdio.h>
#include <string.h>
struct stu {
int num;
char name[20];
} s, ss, sss;
int main(void)
{
//sss = {1, "Leonard"}; //非定义时初始化
s.num = 1; strcpy_s(s.name, "Tyler");
ss.num = 1; strcpy_s(ss.name, "Jason");
printf("s.num = %d, s.name = %s\n", s.num, s.name);
printf("ss.num = %d, ss.name = %s\n", ss.num, ss.name);
printf("sss.num = %d, sss.name = %s\n", sss.num, sss.name);
getchar();
return 0;
}
在C++中不是叫初始化,而是结构体整体赋值吧。
“变量赋值”和“变量初始化”不是一回事! “变量赋值”发生在运行期,其写法遵循赋值语法规定。 “变量初始化”发生在编译期或运行期,其写法遵循初始化列表语法规定。