标签:自定义数据类型 core 变量 zha arp 必须 day 声明 标识符
基本类型:整型、字符型、实型、双精度型和空值型
派生型:指针和数组
用户构造类型
用户定义类型:对已有的类型,另外说明一个新的类型标识符。
结构体:把具有相互关系的不同类型的数据组成一个有机的整体
共用体:又称联合体,使几种不同类型的变量共用一段存储空间。
14.1 用typedef说明一种新类型名
typedef 类型名 标识符;
作用: 用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有的类型名依然有效。
例如:typedef int INTERGER;
INTERGER m,n; 等价于 int m, n;
如:typedef char *CHARP;
CHARP p; 等价于char *p;
14.2 结构体类型
如:一条学生记录(student),包含如下数据项:姓名(name):字符串、性别(sex):字符型、出生日期(birthday):date结构体、四门课成绩(SC):一维实型数组
结构体是一种构造数据类型
用途:把不同类型的数据组合成一个整体——自定义数据类型
结构体类型的变量、数组和指针变量的定义
1.紧跟类型说明之后定义变量
struct student { char name[20]; struct date birthday; char sex; int score[4]; }std, pers[3], *pStd;
结构体变量中的各成员在内存中按说明的顺序依次存放
2.声明无名结构体时直接定义变量,即将其中的student省略掉
struct date { int year; int month; int day; }; struct student { char name[20]; struct data birthday; char sex; int score[4]; };
结构体嵌套定义
struct student { char name[20]; struct { int year; int month; int day; }birthday; char sex; int score[4]; };
3.先声明结构体类型,再使用类型定义变量
struct student
{
…………
};
struct student std, pers[3], *pStd;
4.使用typedef重新声明一个结构体类型名,然后用新类型名字定义变量
typedef struct { …… }student;/Student 是结构体的类型的一个新名字而已,如 int char 他们一样,不用再写struct student std, pers[3], *pStd;
结构体类型的变量、数组赋初值
1.结构体变量赋初值
struct date { int year; int month; int day; }; struct student { char name[20]; char sex; struct date birthday; float score[4];}; struct student std1={"Li Ming",‘M‘,1992,10,1,95.5,60,70,88.5}, std2={"Liu Qiang", ‘M‘, {1995,10,1},{95.5,60,70,88.5}}, std3={"Zhang Ya",‘F‘, {1995},{95.5,60}};
标签:自定义数据类型 core 变量 zha arp 必须 day 声明 标识符
原文地址:https://www.cnblogs.com/pangtao/p/9541284.html