- 博客(18)
- 收藏
- 关注
原创 C语言的枚举和联合体
因为c占一个字节,如果c==1,就是小端存储,如果c==0,就是大端存储。当另一个改变的时候,其它的都会改变。小端存储是 0x01000000。大端存储是 0x00000001。联合体大小是最大类型的大小,例如下面的代码,最大类型是4。一周有星期一到星期日有7天,可以一一列举。利用联合体判断大小端。性别有男、女、保密,可以一一列举。三颜色有红、绿、蓝可以一一列举。而一个人的薪资不是固定不变的,不能一一列举。联合体就是共用内存地址的起始位置。枚举顾名思义就是一一列举。
2024-07-22 09:00:32
249
原创 C语言的结构体
什么是位段,位段是给变量分配几个比特位,比如只要3个比特位的时候,就可以使用位段来给它3个比特位就够了,而不给它至少一个字节,把剩下的给其它变量,但是跨平台差。4.如果嵌套结构体的情况,嵌套的结构体的对齐数是该结构体里最大对齐数的整数倍处,结构体的总大小是所有对齐数最大的整数倍。2.第二个成员开始偏移量为该成员类型大小或默认偏移量(对齐数),对齐数要对齐到整数倍的地址处,取最小值对齐数。offsetof是查看结构体成员的偏移量。3.结构体的总大小是最大对齐数的整数倍。1.第一个结构体成员偏移量为0。
2024-07-22 01:31:00
164
原创 C语言的 “指针数组“ 和 “数组指针“ 和 “函数指针“的基本介绍
指针数组是数组,不是函数,数组指针是指针,不是数组,函数指针是指针,函数也有指针。
2024-07-18 00:41:52
262
2
原创 快点找出凶手
假设A是凶手,A说的是假话,判断其他人说的话,是不是真话,如果没有真话,A就不是凶手。如果是真话,那这个人就是真正的凶手了,否则不是,继续假定凶手。printf("a是凶手\n");printf("c是凶手\n");printf("d是凶手\n");if (a == 0) //假设a是凶手。if (b == 0)//假设b是凶手。if (c == 0)//假设c是凶手。if (d == 0)//假设d是凶手。b说c是凶手,假话 ,所以a不是凶手。c说是d,假话,所以b不是凶手。a说a不是凶手,真话。
2024-07-12 02:18:42
250
1
原创 C语言的整型和浮点型在内存中的存储
例如0(S) 10000001(E) 11100000000000000000000(M),S是0表示这个数是正数,E表示2的指数,要减去127才是真正的E,结果是129-127等于2,而M是111,要加上小数点前的1,其结果是1.111,所以得到的数是正数,数值部分是1.111*2^2等于111.1,整数是小数点前面,小数是小数点后面,2^0*1+2^1*1+2^2*1+2^-1*1等于7.5。用科学计数法表示二进制是1.111*2^2,所以S等于0,M是1.111,E是2。
2024-07-09 23:09:46
339
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人