个人对于结构数组操作的一些理解

日期:2023-12-22

一:结构体数组的基本内涵

       结构数组是结构与数组的结合体,与普通数组的不同之处在与每个数组元素都是一个结构类型的数据,包括多个成员项。

这里首先声明一段结构体类型

struct student{

int num;

char name[10];

int computer,english,math;

}

二;个人对于结构数组的一些想法

         (1)在利用结构体类型去定义结构体数组时,例如struct student (结构体类型) students[50],这段定义对于结构体数组分配了50个首地址:分别从students[0] -students[49],作为五十个结构体数组元素,用来储存50个学生的信息。

        (2)在c语言中,编译程序为所有结构数组元素分配足够的存储单元,结构数组的元素是连续存放的,程序如果在定义时对于部分结构体数组元素进行了初始化分配数据(注意这里对于数组元素的分配是按照结构体类型声明时的定义类型变量的顺序进行的),但对于其他数组元素,编译程序仍然会预分配内存空间

比如struct student student[50]={101,"zhang",76,85,78};

这段声明只针对students[1],然而其他数组元素依旧占据内存空间。

         (3)由于每个结构数组元素的类型都是结构类型,其使用方法就和相同类型的结构变量一样。例如,对于结构数组students,既可以引用数组的元素,如students[i],也可以引用结构数组元素的成员。

         (4)由于结构数组中的元素都是属于相同的结构类型,因此,数组元素之间可以直接进行初始化。students[1]=students[k];

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值