C语言结构体讲解(最详细)

 2023-02-27 15:13:07  阅读 0

一、为什么要使用结构体

有如下问题:存储一个班级中 5 名学员的信息(学号、姓名、性别和成绩)。

解决方案:使用数组你会发现只能存储如上问题的一个属性。

“结构” 是一种构造数据类型,它是由若干数据项组合而成的复杂数据对象,这些数据项称为结构的成员。

二、结构体类型的声明

struct student
{
   int num;
   char name[20];
   char sex;
   float score;
};

间接定义法:

声明一个类型为 student 结构的变量,将会为该变量分配内存,大小是大于或等于其所有成员变量的大小之和。

struct student
       {    long num;
      char name[20];
      char sex;
      int age;
      float score;
       };

说明:即它们具有struct student类型的结构,一个结构体变量中的成员占用内存中连续的存储空间

直接定义法

直接定义法是定义结构体类型的同时定义结构体变量。 定义的一般形式如下:

struct [结构体名]
{
  数据类型1   成员名1;
  数据类型2   成员名2;
  		  ………
}变量列表;

定义了结构体变量以后,我们就可以引用这个变量。方法类似于数组元素的引用,即一般不能直接引用结构体变量,赋值、输入、输出、运算等操作都是通过结构体变量的成员来实现的。 引用结构体变量中的成员的格式为:

结构体变量名.成员名

三、使用结构体注意事项

引用结构体变量应注意以下几点: ①成员名可以与程序中的普通变量名相同,但二者不代表同一对象。 ②不能将一个结构体变量作为一个整体输入、输出和赋值。 ③如果成员本身又是一个结构体类型,则要用若干个成员运算符,     一级一级的引用到最低一级的成员。 ④结构体变量的成员可以像普通变量一样进行各种运算。 ⑤可以引用结构体变量成员的地址,也可以引用结构体变量的地址。

标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码