结构体 枚举 共用体
来源:互联网 发布:企业网络管理培训 编辑:程序博客网 时间:2024/06/04 19:45
C的纯数据类型是char int float 像是数组属于聚合数据类型,C的聚合数据类型主要有两种,数组和结构。数组是相同类型的数据结合,结构式可以允许不同类型数据结合。数组是通过下标访问的,而结构是通过名字访问的。
常用的定义方式。
1、先定义结构体类型,再定义结构体类型变量
struct 结构名
{
成员表列
};
2、定义结构体类型同时定义结构体类型变量
struct 结构名
{
成员表列
} 类型名 ;
3、直接定义结构体类型变量
struct
{
成员表列
}结构体类型变量;
还有一种就是通过 typedef 做一个类型。
4、
typedef struct 结构名
{
成员表列
} 类型名 ;
代码
#include <stdio.h>struct student{char name[10];int age;};typedef struct teacher{char name[10];int age;}tea;int main(void){ struct student li = {"xiaoli", 16};tea zhang = {"mr zhang", 30};printf("李学生的名字%s,年龄%d\n", li.name, li.age);printf("张老师的名字%s,年龄%d\n", zhang.name, zhang.age);return 0;}
执行结构
还有一种叫枚举
有的变量只有几种可能取值。
定义一个变量是枚举类型,可以先定义一个枚举类型名,然后再说明这个变量是该枚举类型。
例如:
enum weekday{sun,mon,tue,wed,thu,fri,sat};
定义了一个枚举类型名 enum weekday,然后定义变量为该枚举类型。例如:
enum weekday day;
也可以在定义的时候赋值
代码
#include <stdio.h>enum weekday{sun=7, mon=1, tue=2, wed=3, thu=4, fri=5, sat=6}; int main(void){printf("星期天的代码是%d\n", sun);printf("星期一的代码是%d\n", mon);printf("星期二的代码是%d\n", tue);printf("星期三的代码是%d\n", wed);printf("星期四的代码是%d\n", thu);printf("星期无的代码是%d\n", fri);printf("星期六的代码是%d\n", sat);return 0;}
执行效果
共用体也叫联合,声明和结构类似,意思是引用相同内存空间的相同位置。你可以把不同的东西存在同一个位置。
union
{
类型定义 变量;
类型定义 变量;
}枚举名;
代码
#include <stdio.h>union {char str1[2][2]; char str2[4];}num;int main(void){int i, j; printf("num占的空间%d\n", sizeof(num)); for(i=0; i<4; i++){num.str2[i] = i;}for(i=0; i<2; i++)for(j=0; j<2; j++)printf("数据是%d\n", num.str1[i][j]); return 0;}
执行结果
0 0
- 结构体、共用体、枚举
- 枚举,结构体,共用体
- 结构体 枚举 共用体
- 结构体、共用体、枚举
- 结构体、共用体、枚举
- 结构体、共用体、枚举
- 结构体/枚举/共用体
- 结构体 共用体 枚举
- 结构体,共用体,枚举体,typedef
- C++结构体、共用体、枚举
- chapter3 结构体 共用体与枚举
- 结构体、共用体、枚举和typedef
- 数组&字符串&结构体&共用体&枚举
- 字符串&结构体&共用体&枚举
- C++ 共用体 枚举 结构体 介绍
- C++ 结构体 共用体和枚举
- 结构体,共用体,枚举类型
- 结构体、共用体和枚举
- 编写一个程序,程序中要调用名为one_three ();函数,······
- Java toString()的用法
- POJ 3895 Cycles of Lanes
- 详解MySQL集群下的复制(replicate)原理
- Docker学习笔记(1)-- 如何安装Docker
- 结构体 枚举 共用体
- 函数(2)
- 关于vs2010 mfc中CFile的一些用法
- cocos2dx 3.2环境配置各种问题
- 动态内存分配
- OC动态特性
- HM学习心得3
- js Ajax 360浏览器 中文乱码
- 学习shell脚本之前的基础知识