Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / C++中的自定义数据类型(结构体)解析

自定义数据类型一、结构体类型1、   C++允许用户自己定义一组包含若干个类型不同(或相同)的数据项的数据类型,称为结构体。2、   声明符号:struct3、   一般形式:struct 结构体类型名{成员表列};4、   结构体类型名用来作结构体类型的标志。5、   结构体中的每个成员也称为结构体中的一个域。成员表列又称为域表。6、   声明结构体类型的位置一般在文件的开头,在所有函数之前。7、   C++提供了类类型,所以在一般情况下,不必使用带函数的结构体。二、结构体类型变量的定义方法及其初始化1、   定义结构体类型变量的方法:a) 先声明结构体类型再定义变量名结构体类型名     结构体变量名 Student            student1;C语言中结构体类型名前面加上关键字structC++中可以省略Student1中具有Student中同样的属性b) 在声明类型的同时定义变量一般形式:struct 结构体名     成员表列    }变量名表列;c)  直接定义结构体类型变量一般形式:struct           //没有结构体类型名 {     成员表列  }变量名表列;                     这种方式虽然合法,但很少使用。提倡先定义类型后定义变量的第一种方法. 说明:1、   不是所有的结构体类型都有相同的结构。2、   类型与变量是不同的概念,只能对结构体变量中的成员赋值,不能对结构体类型赋值。在编译时,不会对类型分配空间,只为变量分配空间。3、   结构体中的成员可以单独使用,它的作用与地位相当于普通变量。4、   成员也可以是一个结构体变量。5、  #include<iostream>6、  usingnamespace std;7、   8、  struct Date   //声明一个结构体类型Date9、  {10、   int month;11、   int day;12、   int year;13、 };14、 struct Student  //声明一个结构体类型Student15、 {16、   int num;17、   char name[20];18、   char sex;19、   int age;20、   Datebirthday;  //Date是结构体类型,birthday是Date类型的成员21、   char addr[30];22、 }student1={},student2;//定义student1和student2为结构体类型Student的变量首先声明了一个Date类型,具有三个成员month,day,year。然后声明Student类型,将成员birthday指定为Date类型,即birthday作为Date结构体类型名的结构体变量,具有month,day,year三个属性。5、结构体中的成员名可以与程序中的变量名相同,但二者没有关系,互不影响。