您的位置:首页 > 编程语言 > C语言/C++

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语言