#include <stdio.h> union data{ int n; char ch; short m; }; int main(){ union data a; printf("%d, %d\n", sizeof(a), sizeof(union data) ); a.n = 0x40; p ...
分类:
其他好文 时间:
2020-04-13 19:28:53
阅读次数:
65
union介绍 union(共用体,联合体),所有成员占用同一段内存,修改一个成员会影响其余所有成员。 在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,以达到节省空间的目的。union变量所占用的内存长 ...
分类:
编程语言 时间:
2020-03-25 12:09:03
阅读次数:
96
union是一种数据格式,它能够存储不同的数据类型,但只能同时存储其中的一种类型。 union one4all { int int_val; lnog long_val; double double_val; } 可以使用one4all变量来存储int,long或double,条件是在不同的时间进行 ...
分类:
其他好文 时间:
2020-03-14 22:12:10
阅读次数:
71
基本运算符主要分为以下五类: 1)算术运算符 加(+),减(-),乘(*),除(/),取余运算(%),自增(++),自减(--)。 自增,自减 又分前缀自增,后缀自增 a++先执行表达式再自增,执行表达式时使用的是a的原值 ++a先自增再执行表达式,执行表达式使用的是自增后的a 2)关系运算符 相等 ...
分类:
编程语言 时间:
2020-03-13 15:57:12
阅读次数:
73
位域在内存中的存放 位域在实际开发中可能用的比较少,但是对于理解内存存储数据非常有帮助! 我们可以在结构体或共用体中描述一个简单的位域: 首先我们先说说这个结构体在内存中所占的大小 st变量占用了1个字节,但只有3位(bit)用来存储数据。当然如果用的是int类型,将会占用4个字节,这是字节对齐的缘 ...
分类:
编程语言 时间:
2020-03-12 23:50:46
阅读次数:
144
联合体和结构体的定义和使用几乎是一样的 union [union tag] { member definition; member definition; ... member definition; } [one or more union variables]; 只不过将struct 换成了 u ...
分类:
其他好文 时间:
2020-03-12 11:31:14
阅读次数:
74
一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。 union变量的大小为其中size最大类型的大小。 #include<stdio.h> union U { int a; char b; }; int main() { ...
分类:
其他好文 时间:
2020-03-05 15:31:37
阅读次数:
86
结构体与共用体的sizeof 结构体的sizeof 结构体变量占用的内存空间大小通常是其基本类型的大小,但是由例外(字节对齐机制) 当存在结构体的嵌套时,将结构体打散,最大的基本类型的大小最为字节对齐数,再一次将数据放入,如果有需要编译器会在成员之间添加填充字节。 tips: sizeof和strl ...
分类:
编程语言 时间:
2020-02-24 20:55:23
阅读次数:
105
C89关键字:共32个关键字修饰类型(8):auto-static-extern-register signed-unsigned const volatile基本类型(7):void short-long char-int float-double复合类型(4):typedef struct un ...
分类:
其他好文 时间:
2020-02-13 09:56:00
阅读次数:
71
过去有一段时间一直以为带个括号的 sizeof() 是 C/C++ 的原生函数QAQ。 其实不然,sizeof 同位运算符(^|&~!)一样是一种单目运算符,作用于变量或数组。 在编译时编译器就会把 sizeof() 的内容转换成常数存入机器码中,不涉及函数的底层操作。 用途 sizeof 运算符可 ...
分类:
编程语言 时间:
2020-02-11 14:39:11
阅读次数:
86