
C语言的学习
文章平均质量分 63
扩展对C语言的学习,希望能对初学者提供一些帮助。
魈十三
湖南省湘乡市白田镇三迁村的一名普通大学生。喜欢键盘加敲字、放牛加植树(有恐高症不太敢爬树)、对恐怖游戏情有独钟。
展开
-
栈(Stack)
栈具有后进先出的特点。原创 2024-07-23 09:19:44 · 414 阅读 · 4 评论 -
计算机二进制存储
计算机存储的并不是数据的原码,而是数据的补码,再熟悉原码、反码、补码之前,我们要了解计算机如何用二进制存储负数,不管是原码,还是反码或是补码,第一位二进制位都是符号位,符号位为1代表该数为负数,符号位为0代表该数为正数。再接着我们来了解原码,反码,补码。至于为什么计算机存储的是补码,那是数学家的数学思想,通过补码来进行相加就不用管左操作数和右操作数的正负,也可以说是第一操作数和第二操作数的正负)而且将原码转化为补码或是将补码转化为原码都只需要按位取反再加一就行了,不需要给计算机提供其他硬件支持。原创 2024-03-16 15:41:54 · 348 阅读 · 6 评论 -
自定义结构体变量
在不同编译器中存在不同的默认对齐数不同【当然也可以通过这行代码来更改对齐数#pragma pack(对齐数)】在结构体变量中的第一个变量存储的起始变量(变量存储以字节为单位存储)的偏移数默认为0(以此类推它的第二个字节偏移数为1),第一个变量之后的变量则需要根据它的类型所占字节数与编译器的默认对齐数进行比较孰大孰小,按照较小的数的整数倍等于存储在偏移数存储,值得一提的是结构体变量的内存大小也是所有较小的数中最大的数(相当于矮子中的高个)的整数倍。struct(自定义结构体的关键字)+类型名(自定义)原创 2024-03-24 11:11:29 · 373 阅读 · 5 评论 -
单链表(Listnode)
一、引言“大江东去,浪淘尽,千古风流人物。”一想起三国就不得不谈到几大以少胜多的战役,官渡之战、赤壁之战、夷陵之战。今天我们就以赤壁之战为模版讲述链表。面对孙刘联盟曹操采纳了“铁索连船”来克服北方人水土不服的弱点。链表的应用场景正好可以运用到“铁索连船”中去。假如诸位魏国的主公在“东风不与周郎便”的情况下又该如何发挥自己的旷世奇才。在这危机四伏的江湖中,主公英明神武的领导、关于战场随机应变的调度可是决定战争胜利的关键因素。首先我们要考虑铁索连船的添加船只来进行排兵布阵,也就是链表的头插和尾插。原创 2024-06-16 14:51:43 · 307 阅读 · 3 评论 -
浮点数与双进度浮点数的存储
上期我们讲到数据的存储,那很多同学就对单精度浮点数与双精度浮点数有疑问了,正负号用最前头的二进制位充当符号位,那单精度浮点数和双精度浮点数又是哪一位二进制位充当充当小数点位又是如何通过二进制存储小数以及为什么单精度浮点数和双精度浮点数存储时内存数据会发生部分丢失。众所周知,变量的内存的地址是由高到低的 ,数组则恰恰相反,内存的地址是由低到高的。大端字节序列:将数据高位字节存储到低位字节,将数据低位字节存储到低位字节。小端字节序列:将数据高位字节存储到高位字节,将数据低位字节存储到低位字节。原创 2024-03-17 11:43:32 · 375 阅读 · 2 评论