【C语言笔记结构体】

发布时间:2026/7/10 12:24:51
【C语言笔记结构体】 我们都知道C语言中变量的类型决定了变量存储占用的空间。当我们要使用一个变量保存年龄时可以将其声明为int类型当我们要使用一个变量保存某一科目的考试成绩时可以将其声明为float。那么当我们要做一个学生信息管理系统时需要保存学生的姓名、学号、年龄等信息该怎么做呢如当要保存三个学生的信息时方法一是char *name1,*name2,*name3; // 三个学生的姓名 int num1,num2,num3; // 三个学生的学号 int age1,age2,age3; // 三个学生的年龄方法二是// 创建结构体模板 struct student { char *name; // 学生名字 int num; // 学生学号 int age; // 学生年龄 }; // 使用该结构体模板创建三个变量stu1, stu2, stu3 struct student stu1, stu2, stu3;显然方法二跟更清晰因为它把name、num、age都集成在一个模板要用的时候只要套用模板进行创建即可。这就是结构体。什么是结构体结构体(struct)是由一系列具有相同类型或不同类型的数据项构成的数据集合这些数据项称为结构体的成员。如上面的student结构体包含三个成员分别是name、num、age。结构体是C语言中的一种构造类型。C语言的数据类型如下图结构体变量的定义方法方法一:// 创建结构体模板struct student struct student{ char *name; // 学生名字 int num; // 学生学号 int age; // 学生年龄 }; // 使用该结构体模板创建三个变量stu1, stu2, stu3 struct student stu1, stu2, stu3;此处student是结构体名该名字是由任意定义的但是尽量起个有意义的名称。其相当于一个模板可以使用这个模板去定义变量stu1stu2stu3。定义的时候不要忘了struct。方法二:// 定义三个结构体变量stu1, stu2, stu3 struct{ char *name; // 学生名字 int num; // 学生学号 int age; // 学生年龄 }stu1, stu2, stu3;相对于方法一此处省略了结构体名。虽然更简洁了但是因为没有了名字后面就不能用该结构定义新的变量。方法三:// 给结构体模板struct student重新命名为student typedef struct student{ char *name; // 学生名字 int num; // 学生学号 int age; // 学生年龄 }student; // 使用student创建三个结构体变量stu1, stu2, stu3 student stu1, stu2, stu3;此处使用typedef为结构体模板struct student定义一个别名student关于typedef的介绍移步至#define与typedef的区别进行查看。使用typedef给结构体创建一个别名这在实际编程用使用非常广泛如STM32单片机固件库中使用得很多如下图初始化结构初始化变量和数组如下int count 0; int arr[7] {0,1,2,3,4,5,6};结构体变量是否也可以这样初始化是的可以。与初始化数组的语法类似struct student stu1 { ZhengNianJun, // 名字正念君 520, // 学号520 23 // 年龄23 };简而言之我们使用在一对花括号中括起来的初始化列表进行初始化各初始化项用逗号分隔。为了让初始化项与结构中各成员的关联更加明显我们让每个成员的初始化项独占一行。这样做只是为了提高代码的可读性对编译器而言只需要用逗号分隔各成员的初始化项即可。C99和C11为结构提供了指定初始化器designated initializer。其初始化器使用点运算符和成员名。例如只初始化student结构中的name成员可以这样做struct student stu1 { .name ZhengNianJun };也可以按照任意顺序使用指定初始化器struct student stu1 { .age 24, .num 520, .name ZhengNianJun };另外对特定成员的最后一次赋值才是它实际获得的值。例如考虑如下代码struct student stu1 { .num 520, .name ZhengNianJun 1314 };此时赋给num的值应该是1314因为它在结构声明中紧跟在name成员之后。新值1314取代了之前的520。指定初始化器在实际编程中也很常用到。如在linux2.6.32.2源码的usb驱动中路径为linux-2.6.32.2\drivers\usb\storage\usb.c有如下代码访问结构体成员结构体成员的访问需要借助结构体成员运算符——点.。如student stu1; // 定义一个结构体变量stu1 stu1.name ZhengNianJun; // 给stu1的成员name赋值 stu1.num 520; // 给stu1的成员num赋值 stu1.age 23; // 给stu1的成员age赋值实例#include stdio.h typedef struct student { char *name; // 学生名字 int num; // 学生学号 int age; // 学生年龄 }student; int main(void) { student stu1; // 定义一个结构体变量stu1 /* 给结构体变量stu1的成员进行赋值 */ stu1.name ZhengNianJun; stu1.num 520; stu1.age 23; printf(\n\n); printf(My name is %s\n, stu1.name); printf(My num is %d\n, stu1.num); printf(My age is %d\n, stu1.age); printf(欢迎关注正念君编程学习笔记\n, stu1.age); printf(\n); return 0; }程序运行结果为结构体是一块很重要的内容用得很多。关于结构体的内存对齐可查看往期笔记【C语言笔记】结构体内存对齐问题以上就是关于结构体的一些笔记如有错误欢迎指出。谢谢欢迎微信扫描左侧二维码或者在微信搜索zhengnian-2018关注我的微信公众号查看更多编程学习笔记原文链接https://blog.csdn.net/zhengnianli/article/details/87568902

相关新闻

别瞎找了,常州建设工程信息网站这才是找项目的真路子

别瞎找了,常州建设工程信息网站这才是找项目的真路子

哎,兄弟们,说句掏心窝子的话,干工程这行,最愁的不是没钱,是没钱途。每天睁眼就是找项目,闭眼就是算成本,这日子过得跟走钢丝似的。我最近跟几个老哥聊,发现大家伙儿都在问,到底去哪找靠谱的工程信息?说实话,以前那种靠喝酒、靠关系、靠扫街的日子,早就过去了。现在…

发布时间:2026/7/10 12:23:23
别被忽悠了!一份接地气的就业网站建设方案,教你怎么把流量变留量

别被忽悠了!一份接地气的就业网站建设方案,教你怎么把流量变留量

说实话,以前我也觉得做个就业网站挺简单的,不就是把招聘信息挂上去嘛,谁不会啊?直到我最近帮一个朋友梳理他们学校的就业网,才发现这水深得吓人。很多所谓的“就业网站建设方案”,看着高大上,其实全是花架子。用户要的是啥?是快,是准,是别让我填一堆没用的表。咱们今…

发布时间:2026/7/10 12:23:16
高校门户网站的建设:别整那些虚的,这才是大学该有的面子

高校门户网站的建设:别整那些虚的,这才是大学该有的面子

说句掏心窝子的话,你去翻翻现在不少高校的官网,那体验简直让人想摔手机。页面加载慢得像老牛拉破车,找个工作招聘或者招生简章,得点进七八个二级菜单,还得猜那个链接到底藏在哪。这哪是门户啊,这简直是迷宫。咱们搞高校门户网站的建设,要是还停留在“把文件往上堆”这种…

发布时间:2026/7/10 12:23:05
B站视频下载器完整指南:3步轻松获取4K大会员和充电专属视频

B站视频下载器完整指南:3步轻松获取4K大会员和充电专属视频

B站视频下载器完整指南:3步轻松获取4K大会员和充电专属视频 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法离线…

发布时间:2026/7/10 13:14:58
抖音批量下载工具:轻松保存无水印视频与音乐的终极方案

抖音批量下载工具:轻松保存无水印视频与音乐的终极方案

抖音批量下载工具:轻松保存无水印视频与音乐的终极方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…

发布时间:2026/7/10 13:14:58
别再瞎跑了!秦皇岛建设部网站办事指南,专治各种“跑断腿”

别再瞎跑了!秦皇岛建设部网站办事指南,专治各种“跑断腿”

还在为办理施工许可、资质年审或者查询工程验收结果而四处奔波吗?这篇内容直接告诉你如何通过秦皇岛建设部网站,把那些曾经让人头疼的行政流程,变成只需动动手指就能搞定的日常操作。我不喜欢那些虚头巴脑的官话,咱们只聊怎么用最少的精力,把事儿办成,把时间省下来陪家人…

发布时间:2026/7/10 13:14:19
陕西住房与建设厅网站怎么查?老业主的避坑指南

陕西住房与建设厅网站怎么查?老业主的避坑指南

刚交房那阵子,我整个人都懵了。手里攥着一把钥匙,心里却像揣了只兔子。开发商说手续齐全,让我放心收房。但我心里总犯嘀咕,这房到底安不安全?后来朋友提醒我,别光听销售忽悠。得去官方渠道核实,最靠谱的就是陕西住房与建设厅网站。那时候我对这网站是一窍不通。以为就是…

发布时间:2026/7/10 13:13:54
拒绝模板化!揭秘商城展示网站建设如何让你的品牌真正活起来

拒绝模板化!揭秘商城展示网站建设如何让你的品牌真正活起来

打开浏览器,输入几个常见的购物关键词。屏幕跳出来的页面,长得都差不多。左边是轮播图,右边是分类导航。中间全是整齐划一的商品卡片。看多了,真的会审美疲劳。用户点进来,逛两分钟,发现没新意,关掉。这就是大多数商城展示网站建设带来的结果。为了省事,为了快,很多老…

发布时间:2026/7/10 13:13:31
建设部证书查询网站怎么找最靠谱?老施工员教你避坑指南

建设部证书查询网站怎么找最靠谱?老施工员教你避坑指南

本文关键词:建设部证书查询网站最近好多同行在群里问,说手里拿着个证,心里不踏实,想查查到底是不是真的,或者注册状态对不对。其实这事儿挺常见的,毕竟现在证件挂靠查得严,真假难辨,万一遇到个假证或者被注销了都不知道,那损失可就大了。今天我就掏心窝子跟大家聊聊,…

发布时间:2026/7/10 13:11:06
老板们别被忽悠了,企业网站建设费用摊销到底怎么算才不亏?

老板们别被忽悠了,企业网站建设费用摊销到底怎么算才不亏?

说实话,每次听到老板们拍着桌子问“做个网站要多少钱”,我心里就直犯嘀咕。你们关心的根本不是网站好不好用,而是这钱花得值不值,能不能立马变出利润来。我见过太多公司,花个三五万做个花里胡哨的首页,结果后台乱成一锅粥,SEO标签全没填,上线半年连个蜘蛛都不爬。这种钱…

发布时间:2026/7/10 0:00:19
网站搜索建设怎么做?新手避坑指南与实战心得

网站搜索建设怎么做?新手避坑指南与实战心得

很多老板做网站,花大价钱搞设计,最后发现用户根本找不到内容,搜索功能形同虚设。这篇干货不讲虚的,直接告诉你怎么搭建一个真正好用的站内搜索,解决用户找不到东西、跳出率高的问题。上周我去了一家做高端家具的电商网站。页面确实漂亮,极简风,高级感拉满。但是,我想找…

发布时间:2026/7/10 0:00:33
北京市建设工程质量监督网站查询实操指南与避坑实录

北京市建设工程质量监督网站查询实操指南与避坑实录

做工程最怕什么?怕验收不过,怕资料补不齐,怕最后拿着钱还背一身债。这篇不整虚的,直接告诉你怎么通过北京市建设工程质量监督网站搞定验收流程,以及那些没人愿意告诉你的隐形坑。先说个真事儿。上个月有个做装修的朋友,急着拿竣工验收备案表,结果在北京市建设工程质量监…

发布时间:2026/7/10 0:00:37
做个人信息管理网站建设,这3个坑我踩了七年,你千万别再跳

做个人信息管理网站建设,这3个坑我踩了七年,你千万别再跳

做了七年建站,见过太多老板花大钱买模板,最后发现根本没法用。特别是现在大家都讲究数据隐私,想搞个个人信息管理网站建设,结果越搞越乱。这篇文不整虚的,直接说怎么把这套系统落地,让你自己的数据真正听话。先说个真事儿。去年有个做自由职业的朋友找我,他说想建个网站…

发布时间:2026/7/9 15:43:56
杨凌规划建设局网站怎么查最新规划?老杨说点大实话

杨凌规划建设局网站怎么查最新规划?老杨说点大实话

杨凌规划建设局网站你是不是也遇到过这种情况?想看看自家旁边要修路,还是建公园。翻遍了手机,搜出来的全是几年前的旧闻。或者好不容易找到个入口,页面加载慢得像蜗牛。心里那个急啊,真的,懂的人都懂。我是老杨,在杨凌混了十几年,跟这行打交道不少。今天不跟你扯那些虚…

发布时间:2026/7/9 15:43:42
杭州网站建设 seo 避坑指南:别被那些只会套模板的忽悠了

杭州网站建设 seo 避坑指南:别被那些只会套模板的忽悠了

昨天半夜两点,我还在改一个客户的后台,咖啡都凉透了。这哥们儿是做机械配件的,在余杭那边,找的前一家公司花了八千块做了个站,结果上线一个月,百度连个影子都没有。他急得给我打电话,说是不是被黑了。我让他把链接发过来,打开一看,好家伙,那代码乱得跟刚被猫抓过的毛…

发布时间:2026/7/9 16:54:10
建站7年才悟出的网站建设思路,别再花冤枉钱了

建站7年才悟出的网站建设思路,别再花冤枉钱了

做建站这行整整7年了。 见过太多老板花几万块, 最后做出来的网站像个垃圾场。 今天不整那些虚头巴脑的术语。 就聊聊我踩过的坑, 和真正能落地的网站建设思路。很多老板一上来就问: “多少钱能做个高大上的?” 我通常直接劝退。 因为方向错了, 你给再多钱也是打水漂。 真正…

发布时间:2026/7/9 15:45:02
合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

做企业官网最怕什么?不是技术难,是交钱后没人管,或者上线一个月连个访客都没有。这篇东西不扯虚的,直接告诉你怎么在合肥找个靠谱的团队,或者自己怎么避坑。先说个大实话,我在合肥混这行五年多,见过太多老板因为贪便宜吃大亏。你去百度搜“合肥的网站建设”,出来一堆报…

发布时间:2026/7/9 15:44:20
别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

做这行久了,心里就憋着一股火。每次看到客户拿着网上抄来的模板,问我能不能做成“苹果官网”那种效果。我就想笑。真的,太想笑了。今天咱不整那些虚头巴脑的专业术语。就聊聊德州网站建设里,那些让人头秃的真实事儿。我有个客户,老张。他是做德州本地建材的,实在人。当初…

发布时间:2026/7/9 15:45:20