关于结构体成员的直接赋值

来源:互联网 发布:淘宝售后申请时间限制 编辑:程序博客网 时间:2024/06/05 03:13
#include<stdio.h>
#include<string.h>
struct student
{
char id[11];
char name[20];
char score[3];
char email[30];
int age;
};
int main()
{
student ming;
ming.age = 16;
//结构体成员为数组时进行单独赋值。

//第零种方法,字符串赋值。
ming.id[11] = "1234455";//直接出错
//错误 1error C2440: “=”: 无法从“const char [8]”转换为“char”
//         2      IntelliSense:  不能将 "const char *" 类型的值分配到 "char" 类型的实体

//第一种方法,从控制台输入。
gets_s(ming.email);

//第二种方法,使用字符串copy,包含在头文件中。

strcpy_s(ming.name,"xiaoming");//复制会更好一些。


return 0;

}

当然,也可以对其整体进行赋值,如下:

student ming = {
"1314011",
"xiaomingtongxue",
{ 90, 89, 99 },
"110119120@qq.com",
20
};

应注意到score数组表示语数外三门课的成绩,故采用数组的初始化方式。