什么是结构体?
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

结构体的定义:

C语言结构体类型的定义模板大概为:

struct 类型名{成员表列
} 变量;
  • 在成员表列中可以是几种基本数据类型,也可以是结构体类型。
  • struct 类型名{} 变量;后的分号不能漏

下面给出定义结构体类型的几种方法

1 先定义结构体类型,再定义结构体变量。

struct student{char no[20];       //学号char name[20];    //姓名char sex[5];    //性别int age;          //年龄
};
struct student stu1,stu2;
//此时stu1,stu2为student结构体变量

2 定义结构体类型的同时定义结构体变量。

struct student{char no[20];        //学号char name[20];     //姓名char sex[5];      //性别int age;            //年龄
} stu1,stu2;    

此时还可以继续定义student结构体变量如:

struct student stu3;

3 直接定义结构体变量。

struct{char no[20];        //学号char name[20];      //姓名char sex[5];      //性别int age;          //年龄
} stu1,stu2;    

一般不会使用第三种定义方法,因为直接定义结构体变量stu1,stu2后就不能再继续定义该类型的变量。

在C中定义结构体类型后每次定义变量时都要使用struct,如果嫌麻烦,我们可以这样:

typedef struct student{char no[20];       //学号char name[20];    //姓名char sex[5];    //性别int age;          //年龄
}STUDENT;
STUDENT stu1;

使用typedef给struct student取一个”别名”STUDENT

C语言结构体定义的几种方法相关推荐

  1. c语言结构体定义坐标,C/C++知识点之c语言结构体定义的几种形式

    本文主要向大家介绍了C/C++知识点之c语言结构体定义的几种形式,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助. 1.最常用定义方式:定义结构体data,此时结构体相当于一个类型, ...

  2. C语言结构体初始化的四种方法

    定义 struct InitMember {int first:double second:char* third:float four; }; 方法一:定义时赋值 struct InitMember ...

  3. C语言结构体初始化的几种方法

    一.介绍 结构体作为数据结构的基础,经常使用,其中初始化也有几种方法,这里详细介绍 二.常规初始化(先定义再初始化) typedef struct {int bandrate;int databits ...

  4. c语言中定义结构体指针的作用,C语言结构体定义,使用及指针(1)

    前言 C语言中的结构体作为一大难点,并且对于需要学习数据结构的同学来说,这个结构是每次上课都会遇到的,所以,我们只有更深层次的理解结构体的知识,才能更好的掌握数据结构 结构体用处 结构体到底有什么用? ...

  5. C语言定义一个结构体方法,C语言结构体定义的方法汇总

    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...

  6. c语言结构体定义蚂蚁,C语言结构体(struct)常见使用方法

    C语言结构体(struct)常见使用方法 C语言结构体(struct)常见使用方法 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合) ...

  7. c语言结构体定义坐标,C语言结构体定义的方法汇总

    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...

  8. c语言结构体定义坐标,C语言结构体定义的方式

    结构体是由不同数据类型组织在一起而构成的一种数据类型,因而一个结构体有多个数据项,每个数据项的类型可不相同. 1.结构体类型的说明 由于结构体类型不是C语言提供的标准类型,为了能够使用结构体类型,必须 ...

  9. C语言结构体实验总结体会,iOS 学习心得记录之:C语言结构体定义的六中模式

    #include int main(int argc, const char * argv[]) { //第1种,匿名结构体,不需要结构体名,只需要结构体变量,只使用一次. struct { char ...

最新文章

  1. 数据结构-单向循环链表、双向循环链表、仿真链表
  2. 关于MGS4和XSI
  3. 转载 maven 详解 http://www.cnblogs.com/binyue/p/4729134.html
  4. 再见Postman,这款API神器更好用!
  5. okhttp 工具类_日语学习工具推荐,小白必备!
  6. php oop 效率,浅谈PHP的oop
  7. html5+中奖结果页面,html5+css3实现抽奖活动的效果
  8. UI素材干货模板|网页“按钮”组件,教你要如何设计!
  9. 横向滑动页面,导航条滑动居中的 js 实现思路
  10. ffmpeg实现摄像头拉流_ffmpeg推流拉流的几种方式
  11. allegro里面由于shape out of date
  12. Myeclipse2014破解教程
  13. 20条经典触动心灵语录
  14. 服务器怎么直接访问数据库文件路径,如何在服务器中找到数据库文件路径
  15. php 验证手机号码格式
  16. yaml文件 *.yml 写法简介
  17. rhel6 中安装使用finger命令
  18. Metasploit终端下的辅助扫描工具 (auxiliary模块讲解)
  19. about Red_Hat_Enterprise_Linux_7
  20. LXD 2.0 系列(八):LXD中的LXD

热门文章

  1. cocos2d-iphone之魔塔20层第一部分
  2. 前端项目实现——奥运五环
  3. 如何理解单元测试?它与集成测试的区别?
  4. linux下的文件属性和文件权限
  5. 【LabVIEW懒人系列教程-视觉入门】2.3LabVIEW之Vision视觉助手案例
  6. mipush的receiver无法获得消息,断点也失效,原因很奇葩strings.xml缺少内容
  7. LLVM学习笔记(16)
  8. 三维多点连线lisp_Lines Creator v2.0.1 制作三维空间点线连接动画AE脚本
  9. Linux中单引号双引号的区别与用法
  10. Python|7本算法攻略书,带你进一步了解Python的算法奥秘