C语言
文章平均质量分 88
C语言学习
fresh hacker
所有命运的馈赠,早已在暗中标注好了价格。
展开
-
结构体通关指南
在C语言中有各种不同的类型,根据我们需要选择合适的类型存储数据即可,但有些数据比较复杂,不适合存放在一个变量里,例如描述一个学生,需要有学号,姓名,年龄,性别等等,于是创造一个自定义类型即结构体类型就十分必要了。以上的数个不同类型的变量都能一次性存放在一个结构体变量中,就如一下,实现结构体类型的声明。原创 2024-03-20 10:00:00 · 840 阅读 · 1 评论 -
【C语言】贪吃蛇小项目实战
以下的贪吃蛇实现基于控制台程序,如果选择终端无法达到效果,可以在如下图处进行修改,修改为windows控制台主机。修改成功后可以看见如下效果:我们可以使⽤cmd命令来设置控制台窗口的长宽和名称:格式分别是title 和mode con cols=x lines=y。原创 2024-04-20 12:00:00 · 979 阅读 · 2 评论 -
【C语言】顺序表(原理+实现)
是n个具有相同特性的数据元素的有限序列。线性表在逻辑上是线性结构,就如同一条连续的直线,但是在物理结构上不一定是连续的。是线性表的一种,但顺序表不仅在逻辑上是线性的,它在物理上同样是线性的。顺序表的底层结构是数组,数组本身就是同一类型数据的集合,顺序表在对数组的封装上实现了常用的增删改查等接口。原创 2024-04-05 13:29:30 · 1405 阅读 · 1 评论 -
C语言分支与循环入门
C语言是结构化的程序设计语言,所谓结构化,可以看成一个程序是由多个模块构成,每个模块具体特定的功能,每个模块包含一个或多个不同结构,具有结构清晰,易读易理解的优点。结构化,就像拼积木搭模块一样,C语言的结构包含顺序结构,选择结构,循环结构,这三大结构组成C语言这座大厦最基础的模块,if,switch是实现选择结构的最基础“积木”,while,for则是循环结构的。原创 2024-01-24 14:24:46 · 1004 阅读 · 0 评论 -
指针全解(系统全面整理)
指针定义,指针基础操作,指针进阶用法,由浅入深,系统讲解。原创 2024-03-08 12:38:33 · 912 阅读 · 0 评论 -
编译与链接(详细图解)
从写代码到输出结果,存在两个不同的环境,即翻译环境和运行环境。在翻译环境中将源代码转化为可执行的机器指令(二进制指令),在执行环境中才是实际执行代码。其中翻译环境又包括编译和链接两大过程,编译包括:预编译,编译,汇编。运行环境就是生成可执行程序,而后产生输出结果。下图大致能展现整个过程。在C语言的项目中,多个.c文件每个单独经过编译器,各自生成对应的目标文件,也就是.obj为后缀的目标文件(Linux中为.o),多个目标文件和链接库一起经过链接器处理得到可执行程序,这就是C语言中编译链接的基本过程。原创 2024-03-29 18:54:04 · 451 阅读 · 1 评论 -
数据在内存中的储存
整数用二进制表达有三种方式:原码,反码,补码。三种表示方式均由符号位和数值位组成,符号位上数字1表示负数,数字0表示正数。在有符号整型中,最高位表示符号位,剩余表示数值位。无符号整型则都视为数值位。对于正数而言,它的原码反码补码都相同,对于负数而言,三种形式各不相同需要转换。原码:直接将数字转化为二进制得到的就是原码。(正负数是符号位的不同)反码:符号位不变,数值位全部取反。(0变1,1变0)补码:在反码的基础上+1得到补码。通过以上的转化方法,可以总结为:原码转补码,取反+1。原创 2024-03-18 12:00:00 · 736 阅读 · 0 评论 -
【C语言】文件操作详解
程序的数据是储存在内存中的,一旦程序结束,内存回收,数据就丢失,无法长久地储存数据,因此出现了文件这一概念。磁盘(硬盘)上的文件是文件,就按功能进行分类,可以分为两种,程序文件包括源文件程序(.c),目标文件(.obj),可执行程序(.exe)等,本文讨论的是数据文件。原创 2024-03-31 10:41:29 · 1267 阅读 · 1 评论 -
C之内存函数
了解一个函数,从参数开始。观察官方给出的memcpy函数定义,参数一个一个来看,void* destination是目的地,是copy拷贝的目的地地址,是将内容拷贝到此处,而后const void* source是源头,const修饰保证源头不被修改保证安全性,拷贝的内容就从这个地址开始,当然拷贝不可能是无限制的,而后的size_t类型的num就是拷贝的字节个数,返回类型void*返回的目的地地址,便于使用者使用拷贝后的内容。原创 2024-03-15 20:14:41 · 385 阅读 · 1 评论 -
【C语言】扫雷(初阶+进阶)小项目实战
进入游戏时,首先映入眼帘的应该是游戏菜单,提供用户选项以进行游戏。对应用户所选而执行相应的程序,首先想到使用语句。考虑到用户玩完一局后还会有再来一次的想法,于是可以将游戏整体放入一个循环,而巧妙地使用用户输入来进行判断,输入0自然不进行循环,直接退出游戏。可以看见以下的效果。原创 2024-01-31 14:15:31 · 1058 阅读 · 0 评论 -
【C语言】链表(原理+实现)
链表是线性表的一种,与顺序表不同的是,链表在物理存储结构上不连续,在逻辑结构上连续。链表中数据元素的逻辑结构是通过实现的。链表的结构跟火车车厢类似,链表的每一个节点都是独立的,如同火车的车厢一样,火车的车厢可随时进行拆卸,链表的单独一个节点也是可随时根据需求进行创建和销毁。所有车厢可以链接成一个整体,链表的节点也是,通过一个个指针将各个节点链接。如此,那么一个节点的结构体类型就能进行定义了, 该节点需要包含两个内容:数据data和指向下一个节点的指针next。原创 2024-04-09 10:00:00 · 1064 阅读 · 0 评论