![](https://img-blog.csdnimg.cn/direct/ecbe118febc64266adafd4410a154cdb.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
文章平均质量分 89
C语言的初阶学习的知识与心得分享
秋风起,再归来~
大一在读,初识编程~全栈领域新星创作者,分享自己学习心得。欢迎各位大佬来到我的博客指导!编程之路,道阻且长,行则将至!未来我们一起加油!
展开
-
探秘atoi与atof的模拟之路:从原理到实践的全能指南!
因此,在使用atoi函数时,需要确保输入的字符串是有效的,且表示的数值在int类型的表示范围内。原创 2024-03-18 16:22:58 · 2391 阅读 · 114 评论 -
揭示数据在内存中存储的秘密!
*其实超过⼀个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分 为大端字节序存储和小端字节序存储,下面是具体的概念: ****大端(存储)模式:是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存 在内存的低地址处。**小端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,保存 在内存的高地址处。** 上述概念需要记住,方便分辨大小端。**原创 2024-03-16 19:36:14 · 2520 阅读 · 118 评论 -
详解7道经典指针运算笔试题!
结构体指针。原创 2024-03-11 18:15:21 · 1734 阅读 · 80 评论 -
用冒泡排序模拟C语言中的内置快排函数qsort!
这里首先介绍一下回调函数的概念~回调函数是使用函数指针(地址)调用的函数。如果我们把一个函数的指针(地址)作为一个参数传递给另一个函数,当我们通过指针找到这个函数并对其进行调用时,这个被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应print();printf("这是一个回调函数\n");接下来我们就来看看qsort啦~注意我们在使用qsort时要引入头文件。原创 2024-03-02 17:15:55 · 1537 阅读 · 78 评论 -
揭示预处理中的秘密!(二)
许多C的编译器提供了一种能力,允许在命令行中定义符号。用于启动编译过程。例如:当我们根据同⼀个源文件要编译出⼀个程序的不同版本的时候,这个特性有点用处。(假定某个程序中声明了⼀个某个长度的数组,如果机器内存有限,我们需要⼀个很小的数组,但是另外⼀个机器内存大些,我们需要⼀个数组能够大些。for(i = 0;1. //linux 环境演⽰6. 条件编译。原创 2024-02-27 21:02:43 · 1383 阅读 · 126 评论 -
揭示预处理中的秘密!(一)
C语言设置了一些预定义符号,可以直接使用,预定义符号也是在预处理期间处理的~1. __FILE__//进行编译的源文件2. __LINE__//文件当前的行号3. __DATE__//文件被编译的日期4. __TIME__//文件被编译的时间5. __STDC__//如果编译器遵循ANSI C,其值为1,否则未定义举个栗子啦~基本语法:#define name stuff举一些例子啦~注意:在#define定义标识符的时候,不要在后面加上分号(;原创 2024-02-27 18:19:23 · 1125 阅读 · 102 评论 -
详解编译和链接!
目录1. 翻译环境和运行环境2. 翻译环境2.1 预处理2.2 编译2.3 汇编2.4 链接3. 运行环境4.完结散花预处理阶段主要处理那些源文件中#开始的预编译指令,比如:#include,#define,处理的规则如下:编译过程就是将预处理后的.i文件进行一系列的:词法分析、语法分析、语义分析及优化,生成相应的汇编代码文件。编译过程的命令如下:2.3 汇编汇编器是将汇编代码转转变成机器可执行的指令,每⼀个汇编语句几乎都对应⼀条机器指令。就是根据汇编指令和机器指令的对照表⼀⼀的原创 2024-02-23 23:48:05 · 1470 阅读 · 206 评论 -
你听说过柔性数组吗?
也许你从来没有听说过柔性数组这个概念,但它确实是存在的。原创 2024-02-23 18:59:51 · 1096 阅读 · 85 评论 -
详解动态内存管理!
然而,我们用来接受返回值的指针。注意:在使用free时,我们。置为空指针NULL~原创 2024-02-21 19:06:46 · 1589 阅读 · 91 评论 -
详解自定义类型:枚举与联合体!
其中枚举类型的。原创 2024-02-17 21:18:18 · 1802 阅读 · 139 评论 -
详解结构体内存对齐及结构体如何实现位段~
位段的声明和结构是类似的,有两个不同:1. 位段的成员必须是 int、unsigned int 或signed int ,在C99中位段成员的类型也可以选择其他类型。2. 位段的成员名后边有⼀个冒号和⼀个数字举个栗子啦~struct Aint _a:2;int _b:5;int _c:10;int _d:30;A就是⼀个位段类型。那位段A所占内存的大小是多少?原创 2024-02-13 23:54:09 · 1950 阅读 · 183 评论 -
你真的学会了printf和scanf函数吗?
printf()是标准库的头文件stdio.h定义的。使用这个函数之前,必须在源码文件头部引入这个头文件。占位符printf()可以在输出文本中指定占位符,所谓占位符就是这个位置可以用其他值带入。例如下列的%d就是一个占位符,被数值18带入。return 0;一个printf()中可以包含多个占位符例如:int main()return 0;原创 2023-11-26 21:21:17 · 1625 阅读 · 57 评论 -
C语言中的内存函数你知道多少呢?
注:使用该函数需要引用头文件#includeint main()i < 10;我们来看一下运行效果~int main()return 0;调试我们看一下效果~是不是很简单呢~int main()printf("前4个字节比较%d\n", memcmp(arr1, arr2, 4));printf("前5个字节比较%d\n", memcmp(arr1, arr2, 5));原创 2024-02-07 19:01:02 · 1179 阅读 · 87 评论 -
C语言中10种常见的字符串函数你都掌握了吗?
不是每个人都能做自己想做的事,成为自己想成为的人。• 下面是strlen函数的模拟实现。• 下面是strcpy函数的模拟实现。• 下面是strcpy函数的模拟实现。strncpy库里面的源代码如下啦~原创 2024-02-05 22:33:23 · 2287 阅读 · 77 评论 -
了解野指针与assert断言 拿捏指针的使用!
创作不易,宝子们!如果这篇文章对你们有帮助的话,别忘了给个免费的赞哟~原创 2024-02-03 11:40:35 · 1056 阅读 · 82 评论 -
有趣的移位操作符和位操作符(由浅入深轻松搞定!)
目录1. 原码,反码,补码 2.移位操作符2.1 左移操作符2.2 右移操作符3.位操作符 (&、|、^、~)4.使用移位操作符和位操作符写一些有趣的代码~1.不能创建临时变量(第三个变量),实现两个数的交换 2.编写代码实现:求⼀个整数存储在内存中的⼆进制中1的个数编辑 3.⼆进制位置0或者置1编写代码将13⼆进制序列的第5位修改为1,然后再改回0 5.完结散花创作不易,友友们看完后如果觉得这篇文章对你们有帮助记得给个3连哟~. 右移操作符我们可以很容易的想到用加减法去解决原创 2024-01-28 17:01:25 · 1638 阅读 · 79 评论 -
轻松学会文件操作(2)
其实上面的函数名字还是很好记住的(fgetc不就是file get character)那每个函数的具体作用是什么呢?原创 2023-12-26 19:21:03 · 1236 阅读 · 55 评论 -
初识文件操作(一)
磁盘(硬盘)上的⽂件是⽂件。但是在程序设计中,我们⼀般谈的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类 的)。1.程序文件程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。2.数据文件⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或 者输出内容的⽂件。这里讨论的是数据⽂件。原创 2023-12-24 22:23:53 · 1414 阅读 · 27 评论 -
C语言初学者:原来我也可以实现扫雷小游戏(简易版)!
模块化程序设计(多文件编程)是指在进行程序设计时,将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个特定的功能,然后在这些小程序模块之间建立必要的联系,通过这些小程序模块的互相协作,完成整个大程序功能的程序设计方法。这里需要说明的是,模块化程序设计(开发)并非专指多文件编程模块化程序设计(开发)的重点在于小功能模块的设计和协作,多文件编程只是将(一个或多个)“小程序模块”打包在单独的文件中,以文件的形式进行呈现,形成了多文件编程形式。原创 2023-12-12 23:31:46 · 1725 阅读 · 58 评论 -
C生万物——从C语言开启我的编程之旅
6.未来目标个人希望在未来能够进入中大厂,拿到一个比较不错的offer。当然,这一切还要取决于自己的实力和能力。学习编程的道路永无止境,但路虽远,不行不至。事虽小,不做不成。编程的学习就是要从小事开始,从点滴做起。不积跬步,无以至千里,学习编程,让我们曲线上升。原创 2023-11-19 21:05:20 · 572 阅读 · 2 评论 -
C语言初学者:原来分支和循环语句可以这样简单!
我们在学习C语言过程中学习的不仅仅是语言本身,更是编程的学习~原创 2023-12-01 23:35:05 · 1857 阅读 · 92 评论 -
你知道C语言中随机数是如何生成的吗~?
每一次成功编译并运行一个程序,都是对自我的一次肯定,不要害怕犯错,编程中的错误是成长的阶梯,通过不断的调试,你会更加熟练,良好的开始是成功的一半,你已经迈出了学习C语言的第一步,接下来,每一步都值得期待~原创 2023-12-02 13:02:29 · 1465 阅读 · 32 评论