c语言中复杂数据类型总结
2015-12-07 22:06
309 查看
c语言中复杂数据类型总结
在c语言中复杂数据类型大体分为四类:基本类型;指针类型;构造类型;空类型;而目前为止我们学到的有基本类型和构造类型。下面是我总结的数据类型模式。基本类型:由整数型int、浮点型、字符型char组成。而浮点型又分为单精度型float和双精度型double。这些都是基本的数据类型,在最开始基础到c语言时就能掌握的,前几天学习的重点就是构造类型。
构造类型:由数组、构造型struct、联合型union、枚举型enum。
数组在之前已经学过,这里就重点介绍构造类型、联合型和枚举型。
构造型struct格式为:
strcut 结构名{
数据类型1 成员名1;
数据类型2 成员名2;
数据类型3 成员名3;
};
然后我们要声明结构体的变量,格式为: struct 结构名 结构变量1, 结构变量2 ;(结构变量之间用逗号隔开)
接着就是访问结构体变量的成员,格式为: 结构变量名.成员名。
下面我们定义一个简单的结构型语言
#include<stdio.h>
#include<string.h>
struct human{
char name[10];
char gender[10];
int age;
float hight;
float weight;
char xueli[10];
}person1;
struct animal{
char name[10];
char gender[10];
int age;
char species[10];
}animal1;
int main(void){
printf("\t人\n");
printf("姓名:");
strcpy(person1.name,"杨青心\n");
printf("%s",person1.name);
printf("性别:");
strcpy(person1.gender,"男\n");
printf("%s",person1.gender);
printf("年龄:");
person1.age=19;
printf("%d\n",person1.age);
printf("身高:");
person1.hight=178;
printf("%0.0f\n",person1.hight);
printf("体重:");
person1.weight=58.5;
printf("%0.1f\n",person1.weight);
printf("学历:");
strcpy(person1.xueli,"高中\n");
printf("%s",person1.xueli);
printf("\t动物\n");
printf("姓名:");
strcpy(animal1.name,"傻逼\n");
printf("%s",animal1.name);
printf("性别:");
strcpy(animal1.gender,"雄\n");
printf("%s",animal1.gender);
printf("年龄:");
animal1.age=2;
printf("%d\n",animal1.age);
printf("种类:");
strcpy(animal1.species,"哈士奇\n");
printf("%s",animal1.species);
}
接下来就是共用体,共用体和结构体格式上的区别就是将struct变为union。虽然定义形式相似,但是它们的含义有所不同。结构体变量所占的内存长度一般等于各成员占的内存长度之和,每个成员分别占有自己的内存单元。而共用体变量所占的内存长度等于最长的成员长度。在共用体中起作用的是最后一个存放的成员,在存入一个新成员后,原有的成员就失去了作用。
枚举类型 格式为: enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
标识符[=整型常数],
};
c语言编译器实际上把枚举元素当做是整型常数来处理。当遇到枚举元素列表时,编译器就把其中第一个元素赋值为0,第二、第三以此赋值为1,2~~~~。其中值得注意的是枚举中的每个成员(标识符)结束符是”,“ 而不是”;“。初始化时可以赋负数,以后的枚举元素仍依次加1。
指正类型尚未涉及,在学习后会及时总结。
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程