C游记
文章平均质量分 92
轻松快乐学习C
快乐的流畅
心之所向,素履以往,生如逆旅,一苇以航。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编译和链接(你真的了解符号决议和重定位吗?)
在ANSI C的任何⼀种实现中,存在两个不同的环境。那么源代码是如何一步步转换为机器指令的呢?其实分为两个大的部分:编译和链接,而编译又分为三个小的部分:预处理、编译、汇编。原创 2024-01-20 07:56:51 · 2006 阅读 · 127 评论 -
文件操作(你真的会读写文件吗?)
磁盘上的文件是文件。程序文件、数据文件(从文件功能的角度来分类的)。原创 2024-01-12 20:29:37 · 1673 阅读 · 37 评论 -
【C语言】动态内存管理(C语言的难点与精华,数据结构的前置知识,你真的掌握了吗?)
俗话说的好,要想学好数据结构(数据结构世界,对数据结构感兴趣的小伙伴可以移步),就必须学好以下三方面知识:前两方面的知识在往期已经详细讲解,今天我们就来学习最后一方面的知识——动态内存管理我们已经掌握的内存开辟方式有:但是上述的开辟空间的方式有两个特点:所以,为了能在程序运行中,根据需求灵活地调整空间大小,C语言引入了动态内存管理。C语言提供了一个动态内存开辟的函数:这个函数可以开辟一块连续的内存空间,并返回指向这块空间的指针注意:malloc(0)——开辟0个字节空间,是标准未定义行为,具体取决于编原创 2023-12-09 16:53:36 · 1767 阅读 · 46 评论 -
自定义类型:结构体(你真的掌握了内存对齐,位段吗?)
位段的成员必须是 char、int、unsigned int 或signed int ,在C99中位段成员的类型也可以选择其他类型。位段的成员名后边有一个冒号和一个数字。int _b:5;int _c:10;int _d:30;A就是⼀个位段类型。原创 2023-12-01 06:45:00 · 1929 阅读 · 19 评论 -
字符串函数的模拟实现(strlen,strcpy,strcat,strcmp,strstr)
首先,(假设dst是s1,src是s2),cur从a开始,s1和s2比较,不相等,再判断s2是否为’\0’,不为0,则cur++循环中,先赋值,再判断,最后++。这样就算遇到 ‘\0’ ,也会先拷贝,再判断停止。这里我们要记录下字符串的初始位置,等str移动到 ‘\0’ 后,相减得结果。直到s1和s2不相等,再判断s2是否为’\0’,不为0,则cur++这次,直到s1和s2不相等时,s2终于为’\0’,则代表。cur再从b开始比较,s1和s2相等,则继续比较。cur从第三个b开始,s1和s2比较。原创 2023-11-24 09:35:24 · 1082 阅读 · 10 评论 -
不允许你还不了解指针的那些事(二)(数组传参的本质+冒泡排序+数组指针+指针数组)
关于指针你真的掌握了吗?数组传参的本质是什么?冒泡排序怎么实现?什么是指针数组,什么又是数组指针,二者又有什么区别?一篇文章解决你的所有问题原创 2023-11-17 09:08:54 · 577 阅读 · 13 评论 -
不允许你还不了解指针的那些事(一)(内存和地址+指针变量+指针运算+野指针+传址调用)
就是为了不能被修改,如果p拿到n的地址就能修改n,这样就打破了const的限制,这是不合理的,所以应该。编译器给出了一个警告(如下图),是因为。const如果放在*的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指针指向的内容,可以通过指针改变。指针变量的大小和类型无关,只要是指针变量,在同一个平台下,大小都是一样的,为什么还要有各种各样的指针类型呢?如果想找到你,就得挨个房子去找,这样效率很低,但是我们如果根据楼层和楼层的房间的情况,给每个房间编上号,对于指针也是,在使用之前,我们也要。原创 2023-11-13 07:00:00 · 932 阅读 · 3 评论 -
(二进制)操作符详解
你会求两个数二进制中不同位的个数吗?原创 2023-11-05 20:13:38 · 513 阅读 · 0 评论 -
扫雷游戏(数组与函数实现)
小时候都玩过的扫雷游戏是如何用C语言实现的呢?保姆级的教程来啦~ 只要认识字,就能学会哦原创 2023-10-31 23:03:44 · 345 阅读 · 2 评论 -
易错的运算符
你知道i+++i怎么算吗,你知道i+++++i怎么算吗,不知道就对了,快进来看看吧!原创 2023-10-28 23:15:52 · 140 阅读 · 1 评论 -
printf与scanf函数的返回值
由一道题引发对这两个C语言中常见函数返回值的思考与探索原创 2023-10-28 17:49:54 · 174 阅读 · 3 评论 -
C语言素数判断以及打印素数表
素数判断与打印素数表,是一道经典题目,相信小伙伴曾经学习C语言的时候肯定有所接触,但是你有没有真正理解这题的奥秘呢?不妨跟着我来一起思考原创 2023-10-24 21:23:23 · 1355 阅读 · 3 评论 -
分支与循环
& 就是与运算符,也是并且的意思, && 是⼀个双⽬操作符,使⽤的⽅式是 a&&b , && 两边的表达式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是不是0,则语句执⾏。其实,在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实。|| 就是或运算符,也就是或者的意思, || 也是⼀个双⽬操作符,使⽤的⽅式是 a || b , ||原创 2023-10-22 21:36:44 · 112 阅读 · 1 评论 -
C语言数据类型和变量
如果要强制跳过字符前的空⽩字符,可以写成 scanf(" %c", &ch) ,即 %c 前加上⼀个空格,表 ⽰跳过零个或多个空⽩字符。上⾯⽰例中, %*c 就是在占位符的百分号后⾯,加⼊了赋值忽略符 * ,表⽰这个占位符没有对应的 变量,解读后不必返回。scanf() 处理⽤⼾输⼊的原理是,⽤⼾的输⼊先放⼊缓存,等到按下回⻋键后,按照占位符对缓存 进⾏解读。输出⼩数时,有时希望限定⼩数的位数。解读⽤⼾输⼊时,会从上⼀次解读遗留的第⼀个字符开始,直到读完缓存,或者遇到第⼀个不符合条件的字符为⽌。原创 2023-10-13 09:16:21 · 137 阅读 · 0 评论
分享