如何对结构体成员赋值和初始化

时间:2021-09-23 19:47:40
// 结构体的赋值和初始化.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <stdio.h>

//定义结构体
struct Student
{
float score;
char sex;
char name[20];
};

int main(void)
{
int i = 0;//在c语言中,所有的定义必须放在执行语句之前
struct Student st1 = {100, 'm', "Xiexiaodong"};//第一种,定义的同时初始化,类似数组,定义后在整体赋值会出错
struct Student st2;
//st2 = {100, 'm', "Xiexiaodong"};//error, 应该单独赋值
st2.score = 100;
st2.sex = 'm';
gets(st2.name);//输入名字,要不一个一个的对数组赋值
printf("%f,%c,%s\n", st1.score, st1.sex, st1.name);
printf("%f,%c,", st2.score, st2.sex);
puts(st2.name);
printf("\n");

return 0;
}


补充:对字符数组赋值还可以用strcpy函数实现:

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

struct Student
{
char name[100];
};

int main(void)
{
struct Student st;

strcpy(st.name, "解晓东");

puts(st.name);

return 0;
}