C语言结构体数组概述

一个结构体变量中可以存放一组有关联的数据,如一个学生的学号、姓名、成绩等数据,如果有10个学生的数据需要参加运算,显然应该用数组,这就是结构体数组。

结构体数组与之前介绍的数值型数组的不同之处在于每个数组元素都是一个结构体类型的数据,他们都包括各个成员项。

C语言定义结构体数组

一般形式

struct 结构体名
{成员表列}数组名[数组长度];

先声明一个结构体类型(如struct Person),然后再用此类型定义结构体数组:结构体类型 数组名[数组长度]。

C语言使用结构体数组注意事项

对结构体数组初始化的形式是在定义数组的后面加上:={初值表列};

在定义结构体数组时进行初始化,为清晰起见,将每个学生的信息用一对花括号包起来,这样做,阅读和检查比较方便,尤其当数据量多时,这样是有好处的。

C语言使用结构体数组求五个人的平均成绩

#include
struct{char *name; //姓名float score; //成绩
}array[] = { //结构体数组 {"张三",145.0},{"李四",130.5},{"王五",148.5},{"赵六",139.0},{"小林",150.0}
};
int main()
{float sum = 0;for(int i=0; i<5; i  ){sum  = array[i].score;}printf("平均成绩:%.2f\n", sum/5);return 0;
}

编译运行结果:

平均成绩:142.60--------------------------------
Process exited after 0.09937 seconds with return value 0
请按任意键继续. . .

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

C语言 | 结构体数组相关推荐

  1. c语言字符结构数组初始化,C语言结构体数组初始化问题

    C语言结构体数组指定初始化器时,下面的三种方法,只有第三种可以,但是第一,二种,我看不出语法上哪错了,编译器DEVc++会报错 [Error] C99 designator 'num_insur' o ...

  2. c语言 结构体数组的赋值

    c语言 结构体数组的赋值 //**创建结构体** #include<stdio.h> struct Class{int id;char name[10]; }; //******结构体数组 ...

  3. c语言如何为结构数组赋值,C语言结构体数组同时赋值的另类用法

    说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子: #include struct student { int a; int b ; int c ; }; stru ...

  4. C语言结构体数组,结构体数组的定义,结构体数组的输出,结构体的应用

    结构体数组 结构体数组的定义: 结构体数组格式:声明变量类型 数组名称[数组长度] //定义一个结构体数组名为a,它里面包含有5个元素,每一个元素都是一个结构体变量 Wor a[5]={}; #inc ...

  5. c语言结构体数组内存大小,如何为C语言的结构体数组分配/释放内存?

    如何为C语言的结构体数组分配/释放内存? struct emp { char name[10]; float salary; }; int main(int argc,char* argv[]) { ...

  6. C语言结构体数组的使用

    1.结构体数组的优点 结构体可以存储不同的数据类型,将他们互相联系起来.结构体数组可以连续存储多个结构体,和数组作用相似.比如想定义同一个最小外接矩形的四个坐标值,并给予这个矩形一个特征编号.当需要存 ...

  7. c语言——结构体数组——学生成绩表

    例题详解: 1. 在主函数中定义结构体数组,struct student stutable[10]; struct student {int stunum;//学号char name[20];//姓名 ...

  8. C 语言结构体数组指针以及函数

    结构体数组指针 指针变量可以指向一个结构体数组,这时指针变量的值是整个数组的首地址. 设 ps 为指向结构体数组的指针变量,则 ps 也指向该结构体数组的第 0个元素,ps+1 指向第一个元素,ps+ ...

  9. C语言结构体数组成员的赋值

    结构体的数组不能直接等号赋值,如果直接赋值会出现如下错误 错误代码示范: 编译结果: 错误原因: 结构体数组成员在引用的时候取的是数组名(是一个常量),所以不能直接将地址值赋给常量. 正确代码: 字符 ...

最新文章

  1. 解决 minicom 不能接收键盘输入问题
  2. java mina多线程_mina2中的线程池
  3. php创建mysql计划任务_有关创建PHP-MySQL后台任务的建议
  4. php 动态生成文件,php动态程序生成静态文件示例
  5. Oracle创建表空间、创建用户以及授权
  6. xcode 常用快捷键
  7. 奇怪,有的Python函数或方法调用需要两对括号?
  8. count是java关键字吗_countinue关键字和break关键字与java基本格式
  9. excel 文件导入数据库(java)
  10. hg255d php,hg255d强刷华硕rt-n13u官方固件果断中继成功
  11. python就业班完整视频_('传智 Python基础班+就业班 最新完整视频教程',)
  12. .net core全开源商城源码,支持可视化布局小程序,前后端分离,跨平台运行
  13. js基础之六种继承方式
  14. C语言计算阶乘及阶乘的和
  15. 富士急乐园免税店将开业,打造游园购物访日体验
  16. Research Mindmap
  17. win10 全局快捷键设置启动程序
  18. 云巡店php源码,雅量云巡店赋能陈列管理 提效降本看得见
  19. Excel2003 找回工作表密码方法
  20. java中extends与implements的区别

热门文章

  1. 以Spring方式构建企业Java应用程序
  2. 用于从文件读取/写入字符串的新JDK 11文件方法
  3. lucene 增加相关性_事务性Lucene
  4. html5开发ria_用于RIA的JavaFX 2与HTML5
  5. hibernate 排序_Hibernate提示:排序和排序
  6. 在OpenShift上扩展Java EE微服务
  7. 书评– Kubernetes Up&Running,作者:Kelsey Hightower
  8. java.util.concurrent包
  9. Java EE拦截器
  10. 有没有更好的Marker方法?