15、C语言用户自定义数据类型
来源:互联网 发布:mac在美国多少钱一支 编辑:程序博客网 时间:2024/04/30 08:13
C语言用户自定义数据类型
一、结构体
定义语法:
struct [名称]
{
成员列表;
}[变量列表];
示例程序:
#include #include struct Student{ int age; char *name; char sex;} Davlid={24,"Davlid",'M'};struct{ int age; char name[20];} Tom;int main(){ struct Student Mike={1,"MIKE"};//初始化 struct Student Rubin={.age=10}; return 0;}
可部分初始化。
同类的结构体可互相赋值如:Mike=Rubin;
结构体指针及成员引用。不可以取结构成内部成员的地址。也就是说不可以指向内部
成员变量。
struct Student *p;
p->age;
Mike.age;
return 0;
结构体变量属于值类型,当作参数时属于值传递,结构体指针属于址类型
当作参数是属于址传递。
二、共用体
用同一段内存,存放不同类型的变量,共用体所占内存是内部等于内部占字节数
最大的一个变量所占的字节。且任何一个时刻,内存中的这段单元只能存放一个
有效的变量内容。
语法:
union Test
{
int age;
char sex;
float soloar;
};
union Test test001;
test001.sex='M';
printf("%c\n",test001.sex);
test001.age=10;
printf("%d\n",test001.age);//引用成员,这样才知道应该取多少字节的数据。
return 0;输出:
M
10
其它使用和初始化方式类似结构体。
三、枚举类型
定义一个变量只能取指定的值。
语法:
enum [枚举名称]
{
元素列表;
}[变量列表];
如:
enum Weekday
{
sun,mon,tue,wed,thu,fri,sat
};
元素默认从0开始,往上自动加1 ,也可指定指定值。
#include
#include
enum Weekday
{
sun,mon,tue,wed,thu,fri,sat
};
int main()
{
enum Weekday week;
week=sun;
printf("%d\n",week);
return 0;
}
输出:
0
四、用typedef声明新类型名
按定义变量的方式,把变量名换成新类型名,再在最前面加上typedef,就声明了新类型
以后就可以使用该类型名称,声明这个类型的变量了。
如:
typedef int num[100];
num a; 相当于int a[100];
typedef int Integer;
Integer a;相当于 int a;
typedef int Num[4];
int main()
{
Num a={1,2,3,4};
return 0;
}
- 15、C语言用户自定义数据类型
- c语言-自定义数据类型
- C语言typedef自定义数据类型
- C语言(7)------使用typedef自定义数据类型
- C语言提高班学习笔记 lesson1 自定义数据类型
- C语言学习历程(二)自定义数据类型与其本质
- 用户自定义数据类型和默认值
- ViewState和用户自定义数据类型
- Delphi技巧-用户自定义数据类型
- 第四章 用户自定义数据类型
- DB2用户自定义数据类型UDT
- 第七章用户自定义数据类型
- 【C语言】C语言数据类型
- mssql常用数据类型及用户自定义数据类型
- c语言-数据类型-基本数据类型
- (C#)--返回自定义数据类型
- C++__自定义数据类型
- [C语言]删除用户自定义后缀名的所有文件
- 13、C语言中动态内存分配与指向它的指针变量
- Windows7激活信息备份方法 源于Vista的方法
- 14-1
- UVa 10391 - Compound Words 字符串hash
- 14、C语言中的空类型指针
- 15、C语言用户自定义数据类型
- 16、C语言指针小结
- cocos2d-x中实现区域裁剪
- 17、C语言文件及文件操作
- 隐藏UIScrollView的滚动条
- 18、C语言中预处理及位段
- 求数组中的最长平台
- 19、C语言小结
- Java测试框架比较:TestNG VS JUnit 4