结构(c的数据类型)

没错,我才知道【快告诉我你们也是!!!】,结构体内部成员的地址原来是放在一起的。!

我们知道数组是相同类型元素的集合,那么结构就是不同类型的元素的集合,这些不同元素叫结构中的成员。是因为这些集合都有一定的联系才会归为一类的。

形式:我们知道,平时学习的int,double都叫类型,而结构是由 关键字struct和自定义的变量 组成一种类型,也就是【struct+自定义变量名(在效果上)==int】。

比如:我要输入学生信息:struct student{int num;char name}a;[struct所定义的结构是一个语句它和int 变量名一样要加;]这里的a表示第二个变量名,与int a;里面的a等效。

在编写代码时,先在主函数之前编写好结构。变量定义可以和结构放在一块,或者在主函数里struct+自定义变量名  +第二个变量名,重新定义。

初始化:在定义的时候同时赋值,eg:struct student a={101,'zhang'};按顺序赋值,彼此之间用逗号隔开。【其实与内存中的存储形式有关可以用sizeof(struct student)或sizeof(a)来计算】。

结构 变量的使用:要用操作符‘.’例如,a.num其实就可以表示变量a的成员num。这样使用以后我们就可以把它当成普通的变量来使用了。所以char类型的变量还是要用字符处理函数来处理,比如:strcpy(a.name,'zhang');或者scanf里面%s【%c是只能输入一个字符】。

嵌套定义:如果一个struct里面的信息还有其他小分支(也是不同元素成员)的话,就要嵌套定义,就是在原有结构里面在进行一边其他结构的声明。比如:struct student{int num;char name;struct xx xx;}a,b;当然嵌套的结构在之前就可以编写好。

赋值:结构允许【相同类型的】整体赋值!!eg:a=b;(整体赋值)或者a.num=b.num;或者strcpy(a.name,b.name);

结构 变量  作为函数参数:如果参数是结构,多半也要返回结构类型 。应用起来和普通情况差不多。

结构数组:像struct student students[10];这样的里面每一个成员都是结构。结构数组任然是连续存放的。

我看到b站视频:二级C语言——结构体指针_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值