C语言基础
文章平均质量分 72
这个专栏用来介绍我在学习C语言的过程中的一些笔记与心得
李妖妖的拯救者
一个敲代码的工科男
展开
-
我的第一篇博客
在假期有以下计划,1每天跟着鹏哥学习C语言,2学习高等数学下册,3每天坚持锻炼。在C语言的学习上紧跟鹏哥步伐,每周坚持在gittee上存代码,坚持每天都练习打代码,精准掌握每个字符的含义。大家好,这是我的第一篇博客,我叫李,,,河北衡水人,现就读于石家庄铁道大学,交通运输工程专业,对C语言有浓厚兴趣。想利用寒假时间跟着鹏哥学习C语言。原创 2024-01-16 20:59:55 · 399 阅读 · 0 评论 -
vs中scanf的使用为什么会报错?及scanf的注意事项
根据提示,考虑使用scanf_s函数,但这个函数不是c语言提供的,只会适用于vs,但加上#define _CRT_SECURE_NO_WARNINGS 1。解决上述问题的小伙伴,会发现scanf会有警告,显示scanf的返回值忽略问题,虽然不影响编程,但本着严谨的态度,我们可以在c++官网查询此问题。如果个位小伙伴执意要手动添加,#define _CRT_SECURE_NO_WARNINGS 1,这句代码一定要放在头文件的前面。保存,但大部分的小伙伴没有vs的权限,会这样显示。原创 2024-07-09 11:29:19 · 401 阅读 · 2 评论 -
if else使用注意事项(悬空问题、语句规则)和关系操作符使用注意事项
刚入坑的小伙伴相信你已经对if 语句和if else语句已经有了一定的了解,这里妖妖不在具体介绍if和if else 的具体内容,主要介绍一下小编在学习的过程中发现的一些容易出错和忽视地方,以及一些编程的习惯。原创 2024-07-11 17:03:23 · 376 阅读 · 6 评论 -
二分查找与遍历查找
遍历查找通俗来讲在一个升序排列的数组中让编译器从第一个来找直到找到最后一个,此方法查找下标的方法中最简单的但效率不高,当数值大到上千、上万、乃至上亿的时候执行效率会显得异常缓慢。原创 2024-07-24 01:00:58 · 371 阅读 · 8 评论 -
扫雷游戏开发
哈喽,各位小伙伴们,相信你们已经对函数,数组等内容已经有了初步了解,下面我将带领各位小伙伴来进行扫雷游戏的详细介绍。目录一、知识铺垫(1)多文件函数的使用>1.test.c文件来实现函数的调用>2.add.c文件来实函数的定义>3.add.h文件来实现函数的声明(2)随机数的产生二、扫雷游戏的开发(1)大体逻辑的实现(2)扫雷游戏的所需函数的模块化设计>1.棋盘的布置>2.初始化棋盘>3.棋盘的打印编辑>4.布置雷>5.统计雷>6.排查雷(3)完整代码>1.game.h>2.test.c>3.game.c原创 2024-07-27 17:58:29 · 821 阅读 · 2 评论 -
深度理解指针(1)
哈喽各位小伙伴们,相信经过几天的学习对C语言已经有了初步了解,但只有学习了指针才是真正走进了C语言的大门。废话不多说直接进入主题吧!原创 2024-07-31 15:09:25 · 720 阅读 · 0 评论 -
深度理解指针(1)补充——const
。原创 2024-07-31 17:07:53 · 327 阅读 · 1 评论 -
深度理解指针(2)
hello各位小伙伴们,关于指针的了解我们断更了好久了,接下来这几天我会带领大家继续我们指针的学习。原创 2024-08-22 21:53:45 · 805 阅读 · 2 评论 -
深度理解指针(3)
hello,各位小伙伴们在上期的最后我们了解到了指针数组,是用来存储指针的数组。这期我们将会学习深度理解指针(3)有关指针的内容,仍然与数组分不开,让我们踏上此次列车来进行新的旅途吧!原创 2024-08-25 08:27:45 · 617 阅读 · 2 评论 -
深度理解指针(4)之回调函数和qsort函数
hello,各位小伙伴们,今天让我们来学习一下回调函数和qsort函数。原创 2024-08-26 20:51:13 · 419 阅读 · 2 评论 -
深度理解指针(5)----指针完结
hello,各位小伙伴们我们现在已经对指针有了深刻的理解,指针来到了收尾环节!让我们来做几题例题来复习之前学习的内容吧!原创 2024-08-29 18:08:18 · 501 阅读 · 7 评论 -
strlen的模拟实现
通常我们在求字符串长度的时候会使用strlen函数进行实现,小编在这里介绍一下如何来对strlen来进行模拟实现。原创 2024-08-09 23:31:03 · 229 阅读 · 5 评论 -
字符串函数详解
Hello,各位小伙伴上期我们学习了字符串操作函数中的strlen,这期我会带领大家详细介绍其他的一些字符串操作函数。我们会从格式,举例,还有模拟操作来更加深入的了解字符串操作函数。原创 2024-08-13 16:05:21 · 875 阅读 · 4 评论 -
C语言内存函数
Hello各位小伙伴们,上期我们介绍了C语言的字符串函数的使用和模拟,这期我们来介绍一下C语言内存函数。C语言的内存函数与字符串不同的是前者不在考虑类型,直接把这块的内存进行处理,不在有字符这一限制。所以处理的内容类型不同所以指针类型是void*类型。这里具体介绍一下memcpy,memmove,还有memset的使用和模拟实现。原创 2024-08-14 10:42:30 · 1061 阅读 · 4 评论 -
数据在内存中的存储
Hello,各位小伙伴们上期我们讲解了C语言内存函数其中提及到了一个整形数字在内存中的存放是倒着的,这期小编将会带领大家了解数据在内存中的存储。原创 2024-08-15 19:34:00 · 789 阅读 · 9 评论 -
几种特殊操作符
hello各位小伙伴们,今天让我们来复习一下几种特殊不常见但很重要的操作符。原创 2024-08-20 19:08:31 · 726 阅读 · 3 评论 -
C语言小tip之整型提升
在进行a + b的运算时,要进行整型提升因为该类型为有符号的char在进行整型提升的时候要按照符号位进行提升a由原来的00000101要变为00000000000000000000000000000101,b由原来的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升。表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度一般就是int的字节长度,同时也是CPU的通用寄存器的长度。整型操作数的标准长度。原创 2024-08-21 12:40:08 · 534 阅读 · 1 评论 -
C语言小tip之函数递归
例如1234,我们要输出1 2 3 4 ,可以将1234%10得到4,然后在1234/10得到123,在不断重复上述操作,就可以得到4 3 2 1,但这些是逆序打印的!在使用函数递归的时候要注意包含两个限制条件:1、递归存在限制条件,当满足这个限制条件时,递归不在继续进行 2、函数在递归的时候要不断接近这个限制条件。当然代码是只有一份的,在进行函数调用的时候会在栈区申请一段空间,用来保存函数在调用期间各种局部变量,这段空间叫做运行时栈或者函数栈帧。如果使用递归的话,在回归的时候会顺序打印!原创 2024-08-30 22:52:25 · 541 阅读 · 3 评论 -
青蛙跳台阶与汉诺塔问题
hello,各位小伙伴们上次我们复习了C语言小tip之函数递归,这次我们来使用函数递归来完成青蛙跳台阶和汉诺塔问题!原创 2024-08-31 16:15:01 · 417 阅读 · 3 评论 -
结构体的使用
hello,各位小伙伴们,今天让我们一起来学习一下结构体,这里主要介绍结构体的自引用,内存对齐,还有传参,位段!如果我们按照我们平常的理解会认为结果为6,但编译器输出的结果为12!因为结构体在内存中采用对齐的方式。结构体对齐的规则: 让我们画图来理解一下:如果出现了结构体嵌套的情况,例如: 至于为什么要对结构体进行内存对齐资料是这样说的: 总结一下的话:通过牺牲空间来缩短运行时间!如果我们要不牺牲很多空间又要节省时间我们可以对变量进行一个合理的排序,将较小的变量原创 2024-09-03 20:29:21 · 847 阅读 · 3 评论 -
浮点数在内存中的存储
hello各位小伙伴们,好久不见啦!之前我们了解到整数还有字符类型在内存中的存储,今天让我们来学习一下浮点数在内存中的存储。原创 2024-09-12 16:03:30 · 281 阅读 · 0 评论 -
自定义类型之联合体和枚举
hello,各位各位小伙伴们,前几期我们学习了自定义类型结构struct,今天让我们来学习另外两个自定义类型联合体和枚举。原创 2024-09-13 10:40:57 · 432 阅读 · 0 评论 -
动态内存管理之malloc,free,calloc和realloc函数
Hello,各位小伙伴们,小编在这里祝福各位中秋佳节快乐呀,今天让我们来学习一下动态内存管理吧!原创 2024-09-17 22:54:21 · 660 阅读 · 0 评论 -
C语言小tip之动态内存常见错误
hello各位小伙伴们,上期我们讲到了动态内存的基础的知识,这期让我们学习一下动态内存常见的错误。原创 2024-09-19 21:34:19 · 463 阅读 · 0 评论 -
C语言小tip之动态内存管理经典面试题
在定义部分参数接收后,开辟了动态内存空间,但出GetMemory(str)函数后指针变量p将会销毁,还给操作系统,str仍然是空指针,将hello world复制到str中去,会导致程序崩溃,同时在自定义函数中开辟的动态内存空间无法被释放,就会导致内存泄露的问题!如果要进行修改可以从两方面进行改正:(1)将函数的值传递改为址传递,在自定义函数中使用二级指针来进行接收同时要在main函数中进行释放内存 (2) 使用一个指针变量来接收函数的返回值,同时把自定义函数的类型改为char*类型。原创 2024-09-23 19:57:38 · 228 阅读 · 0 评论