1条回答 默认 最新
- a5156520 2024-02-14 22:11关注
一个实现,如下:
参考链接:C语言学习笔记---结构体数组初始化_c语言结构体数组初始化-CSDN博客 文章浏览阅读1.9w次,点赞21次,收藏99次。 既然结构体是一种数据类型,那么它也可以定义为数组的形式。比如要描述一本书的信息,可以将书的名称,作者,价格这些信息用一个结构体来描述,在使用的过程中不可能只描述一本书,所以就需要使用一个结构体数组来描述多本书的信息。 首先声明一个结构体。struct book{char title[30];char author[30];float value;}; 接下来定义结构变量,直接定义一个结构数组,在定义的时候初始化。struct book books[3]={ _c语言结构体数组初始化 https://blog.csdn.net/qq_20222919/article/details/121144324结构体数组的赋值方法(常用的三种,包含字符串) - 知乎 一、按照成员变量进行赋值(麻烦,好理解,字符串赋值需要strcpy) 这里使用了一个Init函数,为了在进一步说明传参的使用。实际上赋值按照需要放在主函数就行。 (使用strcpy函数需要添加头文件string.h) #includ… https://zhuanlan.zhihu.com/p/547738086#include <stdio.h> #include <string.h> typedef struct lens{ float foclen; float fstop; char brand[30]; }Lens; int main(void){ int i; char temp[20]; // https://blog.csdn.net/qq_20222919/article/details/121144324 // https://zhuanlan.zhihu.com/p/547738086 // 第一题 struct lens ls [10]; // 定义包含10个lens结构的数组 // 给第三个结构元素赋值 ls[2].foclen=500; ls[2].fstop=2.0; strcpy(ls[2].brand,"Remarkata"); // 打印第三个结构的元素的信息 printf("第三个元素的值为: 焦距长度:%.0fmm, 孔径:f/%.1f, 品牌:%s\n",ls[2].foclen,ls[2].fstop,ls[2].brand); // 第二题 // 给10个结构元素分别赋值 for(i=0;i<10;i++){ ls[i].foclen=500+i+1; ls[i].fstop=2.0+i/10.0; strcpy(temp,"SuperLens"); temp[9]=i+'0'; strcpy(ls[i].brand,temp); } printf("\n所有镜头信息为:\n"); // 打印所有结构数组元素的信息 for(i=0;i<10;i++){ printf("第%d个镜头信息为: 焦距长度:%.0fmm, 孔径:f/%.1f, 品牌:%s\n",i+1,ls[i].foclen,ls[i].fstop,ls[i].brand); } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥50 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
- ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
- ¥200 uniapp长期运行卡死问题解决
- ¥15 latex怎么处理论文引理引用参考文献
- ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
- ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?