锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 在线教育 / 教学花絮:结构体数组
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

结构体初始化和数组成员初始化


结构体对象定义初始化

结构体对象往往有很多成员,成员的访问通过点.来实现,如果在定义对象后,每个成员再写一行赋值语句来初始化,则很麻烦。比如:

struct tt{int n;int a};

tt t1;
t1.n=10;
t1.a=5;

为了简化这个操作,C语言提供了{}方式来进行初始化,上面的3行代码的效果可以转换为tt t1={10,5};在{}里逗号分开的部分和成员个数一致,一个部分的值会对应赋值给按位置对应的成员。


结构体数组成员定义初始化

把上文里的结构体复杂化,变成:struct tt{int n[20],int a};

这时候初始化语句要写成:tt b={{1},2};这表示把n数组成员的第一项设置为1,后续项设置为0.这里对数组的初始化掌握的好的同学会容易理解这个复合的形式。因为数组是可以用{}来初始化。这时候把各个项用结构体的成员来理解,也容易理解{}初始化机制。


答疑文字和截图

结构体数组

假设一个结构体的数组的长度呢?
一样处理
把double类型换为结构体类型

struct tt{int n[20],int a};
这时候想定义一个tt型的b并给定初值:n[1]=1,a=2;应该如果写呢?
tt b={1},2};
{1}是n里面的所有值都定义为1?
我想n[0]=0,n[1]=1呢?

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内