结构体基本概念

操作方法

  • 01

    一、结构体变量的定义: 1.声明一个结构体模板;格式: struct   结构体名 { 数据类型    成员1的名字; 数据类型    成员2的名字; ······ 数据类型    成员n的名字; }; 结构体的名字,称为结构体标签,作为用户自定义的结构体类型的标志,用于与其他结构体类型相区别。 构成结构体的变量,称为结构体成员。 如: struct    student { long  studentID;           /*学号*/ char  studentName[10];     /*姓名*/ char  studentSex;          /*性别*/ int   yearOfBirth;         /*出生年*/ int   scotrEnglish;        /*英语成绩*/ int   scoreComputer;       /*计算机成绩*/ int   scoreMath;           /*数学成绩*/ int   scoreProgramming;    /*程序设计成绩*/ } 2.利用已经定义好的结构体数据类型来定义结构体变量 (1)先声明结构体模板,再定义结构体变量。 struct   stdent   stu1; /*利用前面已经声明的结构体类型,定义一个具有该类型的结构体变量stu1*/ (2)在声明结构体模板的同时定义结构体变量。 struct   student { long   studentID; char   studentName[10]; char   studentSex; int    yearOfBirth; int    score[4]; }stu1; /*声明结构体类型的同时定义了 struct  student 类型的结构体变量 stu1*/ 当将结构体模板和结构体变量放在一起定义时,结构体标记是可选的,即也可不出现结构体名。 如: struct { long   studentID; char   studentName[10]; char   studentSex; int    yearOfBirth; int    score[4]; }stu1; /*定义了一个具有相同成员的结构体变量 stu1 */ 但该方法因未指定结构体标签,不能再在程序的其他处定义结构体变量,因而并不常用。 二、用typedef定义数据类型 关键字typedef用于为系统固有的或程序员自定义的数据类型定义一个别名。例如: typedef  int  INTERGER; /*为 int 定义了一个新的名字 INTERGER ,也就是说 INTERGER 与 int 是同义词。*/ 也可以为结构体定义一个别名。如: typedef  struct  student  STUDENT; 与 typedef  struct  student { long   studentID; char   studentName[10]; char   studentSex; int    yearOfBirth; int    score[4]; }STUDENT; 是等价的。都是为 struct  student 结构体类型定义了一个新的名字 STUDENT 下面两条语句是等价的,二者都能用于定义结构体变量: STUDENT  stu1  stu2; strtct  student  stu1  stu2; 注:typedef 只是为一种已经存在的类型定义一个新的名字而已,并未定义一种新的数据类型。 三、结构体变量的初始化 结构体变量的成员可以通过将成员的初值置于花括号之内来进行初始化。 如:                STUDENT  stu1 = {100310121,"王刚",'M',1991,{72,83,90,82}}; 等价于: strtct  student  stu1 = {100310121,"王刚",'M',1991,{72,83,90,82}}; 四、嵌套的结构体 嵌套的结构体就是在一个结构体内包含了另一个结构体作为其成员。 如: typedef  struct  date { int  year; int  month; int  day; }DATE;                      /*先定义一个具有年、月、日成员的结构体类型*/ typedef  struct  student { long  studentID; char  studentName[10]; char  studentSex; DATE  birthday;        /*根据这个DATE结构体模板来声明STUDENT结构模板*/ int   score[4]; }STUDENT; 定义STUDENT类型的结构体变量stu1,并为其进行初始化如下: STUDENT  stu1 = {100310121,"王刚",'M',{1991,5,19},{72,83,90,82}};

(0)

相关推荐

  • C语言之结构体定义

    在实际的应用当中,我们可能遇到很多数据类型以及长度都是一样的,如果一条一条声明的话,会很麻烦,那有什么解决方法,可以解决这个问题呢?在C中引入了结构体!下面我们介绍结构体的声明以及简单的使用. 操作方 ...

  • C#结构体编程和数组。

    C#结构体编程和数组. 操作方法 01 1.结构体的构造示意图. 02 2.结构体编程代码理解1. 03 3.定义结构编程代码2. 04 4.数组图解. 05 5.写一个通过数组下标访问代码. 06 ...

  • MATLAB中结构体和元胞类型变量的创建方法

    MATLAB中有两种特别的数据类型:结构体和元胞数组,这两种类型都可以存储多组不同类型的数据,方便编程与应用.本文主要介绍这两种类型变量的创建方法. 操作方法 01 结构体变量可以通过字段来存储多个不 ...

  • Matlab如何定义数组矩阵结构体引用元素及合并?

    该软件名称翻译过来就是矩阵实验室.下面按步骤详细介绍如何自定义矩阵.数组(zeros.ones命令).结构体(cell.struct命令),及引用调用相应结构中数据的程序,并介绍如何合并结构,如合并行 ...

  • C语言结构体定义

    学习C语言中,总结了 C语言结构体定义的三种方式,不敢独享,在这里分享自己的笔记,希望大家都能进步 操作方法 01 1. 最标准的方式: #include <stdio.h> struct ...

  • 计算机C语言指向结构体变量的指针

    一个指针变量当用来指向一个结构变量时,称之为结构指针变量.结构指针变量中的值是所指向的结构变量的首地址.通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同的. structstu{ i ...

  • 什么是数据透视表? excel数据透视表的基本结构概念

    Excel数据透视表,在处理大量规范数据时,非常快速.高效.灵活,这也本人推荐大家学习的原因,我只是把这个经验作为一个学习笔记,对他的理解也许不太准确希望大家能够回复,大家共同学习进步.这一节我们学习 ...

  • 建站.Net常识 详谈值类型和引用类型

    值类型和引用类型是.net里面的一个基本概念 在面试的时候也经常遇到 关于这个概念有很多误解,经常听到下面的说法 1.两者的区别是值类型分配在堆栈上,引用类型分配在堆上 这句话不对,至少不准确 2.值 ...

  • Linux进程和线程的基础与管理

    一.进程的基本概念 程序是为了完成某种任务而设计的软件,比如vi是程序。什么是进程呢? 进程就是运行中的程序。一个运行着程序,可能有多个进程。比如Web服务器是Apache服务器,当管理员启动服务后, ...