关于完善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-创新互联
网址分享:https://www.cdcxhl.com/article38/jegsp.html

成都网站建设公司_创新互联,为您提供定制开发外贸建站自适应网站网页设计公司网站营销静态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站