189 8069 5689

关于完善C语言知识储备的学习--结构体1-创新互联

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

创新互联公司专注于怀远企业网站建设,成都响应式网站建设公司,商城网站建设。怀远网站建设公司,为怀远等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

文章目录
  • 前言
  • 一、结构体是什么?
  • 二、使用步骤
    • 1.如果没有结构体
    • 2.加入了结构体之后
  • 总结


前言

在编程中,有时会出现大量相同类型的数据,比如说一个班同学的姓名,年龄还有身高等等,那么一个班那么多同学,就要有大量重复类型的数据代码,会使得代码看起来冗长重复,那么,定义一个结构体,把每个同学的信息放在每个结构体里面,就会大大减少代码量。


一、结构体是什么?

把一些基本类型数据组合在一起形成的一个新的复合数据类型,这个叫结构体。

二、使用步骤 1.如果没有结构体

代码如下:

int main()
{
    int age1 = 12, age2 = 14, age3 = 11, age4 = 16.......age100 = 10;//每个同学的年龄
    char a1[5] = "张三", a2[5] = "李四", a3[5] = "王五", a4[5] = "赵六"......//每个同学的姓名
    char b1 = 'F', b2 = 'F', b3 = 'M', b4 = 'M', b5 = 'F'......//每个同学的性别

    return 0;
}

这样定义起来很麻烦,耗费了程序员大量时间,并且代码看起来很冗长繁琐。

2.加入了结构体以后 代码如下:(先把修改结构体代码注释掉)
# include# include# includestruct Student//定义了一个数据类型,这个数据类型叫结构体,注意,结构体不是变量
{
    int age;//每个同学的年龄
    char name[5];//每个同学的姓名
    char sex;//每个同学的性别
};//分号一定不能丢

int main()
{
    struct Student st1 = { 14, "张三", 'M' },//st1是数据类型为结构体的变量
    struct Student st2 = { 15, "李四", 'M' },//st2是数据类型为结构体的变量
    struct Student st3 = { 13, "王五", 'F' };//st3是数据类型为结构体的变量

    //修改结构体变量中的除字符串以外的变量
    //st1.age = 16;
    //st1.sex = 'F';

    //修改结构体变量中的字符串数组name
    //struct Student * p = &st1;//首先定义一个指针存储st1变量的首地址,
                             //由于st1是结构体类型数据,所以指针也要定义成结构体类型指针
    //strcpy((*p).name, "小明");//首先要加头文件来调用strcpy函数
                   //strcpy( A , B )表示把B字符串拷贝到A中,其中B字符串必须是const类型

    //输出结构体
    printf("%d %s %c\n %d %s %c\n %d %s %c", st1.age, st1.name, st1.sex, st2.age, st2.name, st2.sex, st3.age, st3.name, st3.sex);


    return 0;
}
输出结果如下:
14 张三 M
15 李四 M
13 王五 F
D:\VS项目\把结构体拆开的冗长代码\x64\Debug\把结构体拆开的冗长代码.exe (进程 4952)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

把注释去掉以后,也就是修改了结构体变量之后

输出结果如下:
16 小明 F
15 李四 M
13 王五 F
D:\VS项目\把结构体拆开的冗长代码\x64\Debug\把结构体拆开的冗长代码.exe (进程 8176)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

总结

1.有了结构体以后,就会大大简化代码量,同时也使得代码看起来更整洁,可读性更高

2.结构体在学生管理系统等方面很常见,马上等我学了如何敲学生管理系统代码后,会在下一个帖子发出来。

3.修改结构体中字符数组类型的变量(比如名字),常常会用指针变量和strcpy字符串函数,在修改的时候,可以有两种类型,一种是代码中的strcpy((*p).name, "小明");,还有一种是

strcpy(p->name, "小明");,这两种都可以,都是可以修改名字的。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:关于完善C语言知识储备的学习--结构体1-创新互联
标题网址:http://cdxtjz.cn/article/jegsp.html

其他资讯