c语言
文章平均质量分 66
基础知识点
就要 宅在家
New git new get
展开
-
学懂如何计算结构体内存大小
结构体内存对齐方式需要同时满足数据内存对齐与结构体整体内存对齐两个限制要求。数据内存对齐数 = min(数据所占字节数,默认对齐数)。默认对齐数是编译器所规定的。在32位机器下是4字节,64位机器下是8字节。各常用类型数据对齐数如下:结构体整体内存对齐数 = min(最大数据类型字节,默认对齐数)最大数据类型字节就是这个结构体中所有数据类型中所占字节最大的类型。默认对齐数与文一致,32位下是4字节、64位下是8字节。原创 2022-11-06 09:15:00 · 1564 阅读 · 5 评论 -
带你彻底搞懂缓冲区
所谓缓冲区,就是当我们在编程向文件中输入数据时,数据无法直接写入文件,而是先写入一个名为缓冲区的区域,经过对缓冲区的刷新后才能写入文件中。可以通过此例作以证明:下例中,我们打开一个文件,使用fwrite向其中输入数据,第一次采用直接使用close关闭文件,第二次采用刷新缓冲区fflush后close关闭文件。//代码一int main(){//系统调用接口,fileno:即文件描述符fdreturn 0;}//代码二int main(){//刷新缓冲区return 0。原创 2022-10-26 08:45:00 · 3683 阅读 · 5 评论 -
如何理解原码,反码,补码转换
首先,无论原码还是反码还是补码都是二进制形式,有效位数是7位,最后(最左边)一位是符号位,用以区别正负。数据在内存中是以 补码 的形式存放。一.区别原码:最高位 0 是正数 最高位 1 是负数反码:正数:与原码一致 负数:最高位不变,其余按位取反补码: 正数:与原码一致 负数:反码值 +1举个例子: 5 -5......原创 2021-12-11 09:25:37 · 1633 阅读 · 2 评论 -
extern 、static 作为全局变量的使用与差异
同一项目中,不同文件间的同名同类型全局变量是不能互相使用的,那这时我们就可以使用extern、static来解决。同时,虽然extern、static均可以修饰全局变量,但他们的意义却是大不相同。原创 2022-07-17 17:11:26 · 1902 阅读 · 7 评论 -
基础时间函数总结(c语言)
头文件:<time.h>time_h:数据类型 用来得到当前系统日历时间localtime函数:用来将系统时间存放在结构体 struct tm 中,其返回值是struct tm*类型struct tm :系统已经定义好的结构体,用来打印当前时间,年月之类的struct tm 是结构体类型,不可以写成struct am,struct bm之类的哟! 注意:在定义struct tm 的结构体名时若是使用loca......原创 2021-12-14 09:57:36 · 3384 阅读 · 8 评论 -
浮点数在内存中的存储形式
在内存中,浮点数是以符号位、指数位、尾数位的顺序存储。以4.5625为例:符号位:因为是整数,所以为0。指数位:4的二进制为100。因为float指数位为8位,所以是00000100尾数:尾数位从左往右计算。第一位是2的-1次方(0.5),第二位2的-2次方(0.25)。 也就是说0.5 = 1000...,0.25 = 01000...,0.125 = 0010000....,以此类推。 这里的0.565 = 0.5 + 0.0625 ,也就是 1 + 0001 = 1001。原创 2022-07-11 18:33:32 · 1730 阅读 · 4 评论