NDK启航篇——C语言基础(联合体)
2020-04-03 本文已影响0人
爺珍爱那颗心
ndk
NDK启航篇——C语言基础
NDK启航篇——C语言基础(指针)
NDK启航篇——C语言基础(函数指针)
NDK启航篇——C语言基础(内存分配)
NDK启航篇——C语言基础(字符串)
NDK启航篇——C语言基础(结构体)
NDK启航篇——C语言基础(结构体补充)今天写一下联合体
联合体的知识点到这里就写完了,明天写
NDK启航篇——C语言基础
NDK启航篇——C语言基础(指针)
NDK启航篇——C语言基础(函数指针)
NDK启航篇——C语言基础(内存分配)
NDK启航篇——C语言基础(字符串)
NDK启航篇——C语言基础(结构体)
NDK启航篇——C语言基础(结构体补充)
今天写一下联合体union
(比较简单)。
什么是联合体?
- 不同类型的变量,共同占一段内存(相互覆盖),联合体变量任何时刻只有一个变量存在,所以也叫
共用体
联合体的作用
- 节省内存
联合体的大小
- 联合体变量的大小等于最大的成员所占的字节数
联合体的定义
- union 名字{};
示例代码如下
union MyValue{
int y;
int x;
double z;
};
void main(){
union MyValue d1;
d1.x = 90;
d1.y = 100;
d1.z = 99.9;//最后一个赋值的有效
getchar();
}
enum
枚举
- 固定的数据
- 枚举就是一种数据类型
- 列举所有的情况
- 限定值,保证取值的安全性
enum Day{
Monday,
Tuesday,
Wednesday
};
//不写默认相当于
enum Day{
Monday = 0,
Tuesday = 1,
Wednesday = 2
};
void main (){
//枚举的值必须是括号中的值
enum Day d = Monday;
printf("%#x,%d\n",&d,d);
/* int i = 0;
enum Day *p = &d;
for(;i<3;i++){
printf("%#x,%d\n",p,*p);
p++;
}*/
getchar();
}