c语言-自定义数据类型
2014-11-08 20:54
162 查看
结构体
声明:
一般是:
注意:计算机对内存的管理是以字为单位的,如果一个字中只存放一个字节,但改字的其他三个字节不会存放数据,而是从其他字开始存放数据。所以sizeof得到的长度是24,4的整数倍
3、初始化:
可以定义的时候初始化,或者之后初始化
结构体数组:
结构体指针:
一个结构体变量的起始地址
链表:用指针处理链表
共用体:用同一段内存,存放不同类型的变量
在数据处理时,对同一段空间安排不同的用处时,用union
长度是最长的成员的长度
用typedef声明新类型名
声明一个新类型名的方法是:
先按定义变量的方法写成定一体,如int i;
将变量名换成类型名 ,int count;
在前面加typedef,如typedef int count ;
用新类型名去定于变量
命名一个新类型名代替结构体类型:
命名一个新类型名代替数组类型:
命名一个新类型名代替指针类型:
命名一个新类型名代替指向函数的指针类型:
注意:1、当不同源文件中用到同一数据类型,常用typedef声明,可以把typedef声明的一些变量放在一个文件中,在需要用到的文件中用#include包含进来。
2、注意 typedef和define的区别
声明:
struct Student { int number; char name[19]; };2、定义:
struct Student student;
一般是:
<pre name="code" class="cpp">struct Student //也可以不指定类型名Student { int number; char name[20]; }stu;
注意:计算机对内存的管理是以字为单位的,如果一个字中只存放一个字节,但改字的其他三个字节不会存放数据,而是从其他字开始存放数据。所以sizeof得到的长度是24,4的整数倍
3、初始化:
可以定义的时候初始化,或者之后初始化
struct Student //也可以不指定类型名Student { int number; char name[20]; }stu={1,“aaa”}; stu.number=2;
结构体数组:
struct Student //也可以不指定类型名Student { int number; char name[20]; }stu1[3];
结构体指针:
一个结构体变量的起始地址
struct Student *pt; pt=&stu; <pre name="code" class="cpp"><pre name="code" class="cpp">pt->number=5;
链表:用指针处理链表
struct Student { int number; char name[20]; struct Studen *next; }stu;
共用体:用同一段内存,存放不同类型的变量
在数据处理时,对同一段空间安排不同的用处时,用union
长度是最长的成员的长度
struct Student { int number; char name[20]; <span style="color:#CC0000;"> union {int class; char position[20]; }category;</span> }stu,stu2;
stu=p;//不能对共用体变量名赋值 p=stu;//也不能引用一个共用体变量名来得到一个值 stu=stu2;//同类型的共用体变量可以相互赋值
category.class=1;//赋值
用typedef声明新类型名
声明一个新类型名的方法是:
先按定义变量的方法写成定一体,如int i;
将变量名换成类型名 ,int count;
在前面加typedef,如typedef int count ;
用新类型名去定于变量
命名一个新类型名代替结构体类型:
typedef struct { int number; char name[20]; }Stu; Stu stu; Stu *p;
命名一个新类型名代替数组类型:
typedef int Mun[20]; Mun m;
命名一个新类型名代替指针类型:
typedef char *String; String c,s[10];
命名一个新类型名代替指向函数的指针类型:
typedef int (*point)(int)
注意:1、当不同源文件中用到同一数据类型,常用typedef声明,可以把typedef声明的一些变量放在一个文件中,在需要用到的文件中用#include包含进来。
2、注意 typedef和define的区别
相关文章推荐
- 15、C语言用户自定义数据类型
- C语言学习历程(二)自定义数据类型与其本质
- C语言typedef自定义数据类型
- C语言提高班学习笔记 lesson1 自定义数据类型
- C语言之数据类型
- C语言中的数据类型在VB中的申明
- C语言一些基础:数据类型,运算类型及表达式
- 用户自定义数据类型和默认值
- NHibernate自定义数据类型
- c语言课件,数据类型(续)
- 用户自定义数据类型
- C语言 第二讲 数据类型
- C语言的数据类型
- C语言的输入输出的数据类型与所用格式说明符不一致(2)
- C语言的基本数据类型(9)
- GTK中的数据类型与C语言的数据类型
- COM组件中使用用户自定义数据类型
- (C语言教程)第二章: 数据类型、运算符、表达式
- C++ Builder 6 BizSnap/SOAP/WebService(2) -- 通过 SOAP 传递自定义类型数据(改)
- Hibernate自定义数据类型映射oracle中xmlType 广东精鹰软件工作室(刘正仁)