office365用不了怎么回事-365bet正网盘口-365bet网址开户

记录时光的故事

结构体变量的三种赋值方式以及三种常见错误的赋值方式

分类: 365bet网址开户 时间: 2025-09-18 03:13:13 作者: admin 阅读: 7837
结构体变量的三种赋值方式以及三种常见错误的赋值方式

一、正确的三种赋值方式

#include

#include

struct student

{

int age; //年龄

char name[20]; //姓名

int id; //学号

char phoneNum[20]; //手机号

// int test = 16; //报错 ,不能在结构体内部赋值

// id = 1; //报错 ,不能在结构体内部赋值

};

int main()

{

printf("年龄\t姓名\t学号\t手机号");

printf("\n=================================\n");

//一、定义变量的同时初始化为stu1赋值

struct student stu1 = {18 , "张三", 17 , "17638888888"}; //类似于数组,必须严格按照定义结构体类型时的成员顺序填写

// struct student stu4 = {18 , "张三" , , "17638888888"}; // 报错 ,不能不按顺序写,也不能跳过。

printf("%d\t%s\t%d\t%s\n",stu1.age,stu1.name,stu1.id,stu1.phoneNum);

//二、利用赋值语句逐条为stu2赋值

struct student stu2;

stu2.age = 19;

// stu2.name = "张三"; //报错,字符串不能通过“= ”赋值

strcpy(stu2.name,"李四");

stu2.id = 18;

strcpy(stu2.phoneNum,"19334533534");

printf("%d\t%s\t%d\t%s\n",stu2.age,stu2.name,stu2.id,stu2.phoneNum);

//三、通过scanf()函数为stu3赋值

struct student stu3;

scanf("%d%s%d%s",&stu3.age,stu3.name,&stu3.id,stu3.phoneNum);

printf("%d\t%s\t%d\t%s\n",stu3.age,stu3.name,stu3.id,stu3.phoneNum);

return 0;

}

二、常见的三种错误赋值方式

1.不能在结构体内部给成员赋初值。如下面的用法会报错

struct student

{

int age = 17; //报错,不能在结构体内部定义成员时赋初值。

char name[20] = "张三";

int id = "10";

char phoneNum[20] = "17637578839";

};

2.定义结构体变量的同时初始化时,不能跳过去前面的成员为后面的成员赋值。如下面的用法会报错

struct student stu4 = {18 , "张三" , , "17638888888"}; // 报错 ,不能不按顺序写,也不能跳过。

3.给字符串赋值时,不能使用“ = ”。如下面的用法会报错

stu2.name = "张三"; //报错,字符串不能通过“= ”赋值

相关文章

安卓手机怎么下载Instagram
10年世界杯阿根廷战绩(阿根廷10年世界杯历程)
Steam手机版安装及使用指南:快速设置步骤详解
手机分期有哪些平台?哪个平台好?发布时间:2025-7-1 14:10阅读:51
空中三角测量
【数说足球】98年世界杯,达沃·苏克带领克罗地亚...