C语言
文章平均质量分 88
C语言从零开始学习
JhonKI
励志考研厦大计算机图形学or视觉,以博客记录学习过程
(互三私信下)
展开
-
【C语言】“vid”Microsoft Visual Studio安装及应用(检验内存泄露)
我们在写代码时往往容易存在内存泄漏的情况,所以存在这样一个名为VLD的工具用来检验内存泄漏,现在我来教大家安装一下。原创 2024-04-02 22:59:28 · 915 阅读 · 0 评论 -
【C语言】整数存储、大小端概念
这是因为在计算机系统中,我们是谈学掌的,个地都好应着一个字节,一个字节为8bit 位,但是在C语言中除了8 bit的 char 之外,还有16 bit的 short 型,32 bit的 long 型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。比如上面这个例子,我们往往会遇到要连续输入的情况,而我们会用上面这种方法来检验输入是否错误,但因为按位取反操作符~的存在,我们也可以利用下面这种方法。原创 2024-03-15 16:47:16 · 1156 阅读 · 0 评论 -
【C语言】结构体类型名、变量名以及typedef
可以看到此处的p隐指的是typedef struct tag p,所以此处的L因为typedef的存在变成了typedef struct tag p的别名,也就是说p成为了缩减版的类型名。原因是s虽然被成功定义了,但是p因为typedef的存在导致变量名不是变量名,而成为了类型名。好了,这就是全部了,这篇博客是我从别人那里借鉴的学习笔记,大家可以看看那个大佬的。一般情况下,类型名,变量名,结构体成员至少需要两个才能构成结构体。可以这么记,括号前面的是类型名,括号后面的是变量名。假设定义了上面这一个结构体,原创 2024-03-19 23:47:35 · 713 阅读 · 0 评论 -
【C语言】浮点型在内存中的存储
在我的上一篇博客中详细写了整形在内存中的存储,以及大小端的介绍,有兴趣可以看一下,本篇文章重点讲讲浮点型在内存中的存储。原创 2024-03-16 20:36:53 · 1576 阅读 · 0 评论 -
【C语言】文件操作(超详细)
文件详解(超详细!!!)原创 2024-03-24 19:38:04 · 1455 阅读 · 0 评论 -
【C语言】strncpy,strncat,strncmp,memcpy,memmove,memcmp,memset的模拟实现
首先注意,接下来的函数基本都需要目标内存块足够大。原创 2024-03-14 23:07:57 · 1168 阅读 · 1 评论 -
【C语言】模拟实现 atoi
同时因为我们要将字符串转化成整型,既然是整型,那么必然就会有范围,在头文件limits.h中有定义,我们就可以直接调出最大值最小值,如果这个数字大于INT_MAX或者小于INT_MIN就会返回0。通过上述cplusplus和MSDN对atoi函数的介绍我们可以得出以下几个关键点。我们需要先循环掉一个字符前的所有空格,在判断出现的第一个字符是否为正负号,并通过。字符类型转整形,存在整形溢出的情况,需要定义为。判断字符指针是否为野指针,或者里面没有数据。存在这种情况时直接退出,并输出0。原创 2024-03-21 19:42:40 · 1046 阅读 · 0 评论 -
【C语言】关于字符的一些实用函数
就直接出现了结果,这是因为scanf和getchar在读取数据时是从缓冲区内读取数据,而缓冲区位于键盘和scanf、getchar之间,在我们通过键盘输入abcdef密码并敲下回车键时,数据被送到了缓冲区,这时scanf读取字符串abcdef,所以此时只剩下 \n 在缓冲区内,所以getchar就会读取缓冲区内的 \n ,则ch= ’ \n ',因此会直接打印确认失败。如果发生错误或达到输入的末尾(例如从文件中读取时),getchar 返回特殊值 EOF(End-Of-File),通常定义为 -1。原创 2024-03-17 16:43:15 · 1217 阅读 · 0 评论 -
【C语言】动态内存管理及其常见错误
我们已经掌握的内存开辟方式有://在栈空间上开辟四个字节//在栈空间上开辟10个字节的连续空间空间开辟大小是固定的。数组在申明的时候,必须指定数组的长度,数组空间一旦确定了大小不能调整。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了C语言引入了动态内存开辟,让程序员自己可以申请和释放空间,就比较灵活了。原创 2024-03-22 21:03:37 · 1085 阅读 · 0 评论 -
【C语言】关于错误信息打印的一些技巧
我们经常在运行代码时发现程序出错,但是一时之间又很难发现原因,往往需要一步一步调试过程最后发现错误点,然鹅这种方式的效率往往很低,所以我们可以借用一些函数来快速发现这些错误,提高写代码的效率。原创 2024-03-23 18:58:02 · 668 阅读 · 0 评论 -
【C语言】预处理常见知识详解(宏详解)
在C语言中内置了一些预定义符号,可以直接使用,这些符号实在预处理期间处理的,并且这些符号都是C语言ANSIC里收集的但是在笔者的VS2022里不完全支持ANSIC的所有预定义符号这里把这里的预定义处理STDC都打印了一遍,证明都可以实现,但是当我们打印STDC时会出现由此可见随着编译器版本的升级有些C语言内置预定义会被忽视掉基本语法以下举例1000//register//为 register这个关键字,创建一个简短的名字/用更形象的符号来替换一种实现for;;原创 2024-03-28 23:32:41 · 2261 阅读 · 0 评论 -
【C语言】结构体详解
在笔者大前篇中记录了有关结构i的一些基本知识,主要是有关结构体类型名、变量名、成员名以及typedef的运用,链接:link,有兴趣的朋友可以看看简单复习下struct tag//类型名char m;//成员名1int i;//成员吗2}p;//变量名typedef struct tag//类型名char m;//成员名1int i;//成员名2}p;//类型名,因为typedef的存在接下来,我打算跟大家粗略地介绍一下结构体变量的创建和初始结构体的特殊声明和结构体的自引用,重点介绍下。原创 2024-03-22 19:26:08 · 1485 阅读 · 0 评论 -
【C语言】编译和链接
简单图文介绍编译和链接原创 2024-03-27 23:00:25 · 1344 阅读 · 0 评论 -
【C语言】分支与循环语句的总结
注:C语⾔中,⾮0表⽰真,0表⽰假C 语言⽤于⽐较的表达式,称为 “关系表达式”(relational expression),⾥⾯使⽤的运算符就称为“关系运算符”(relational operator),主要有下⾯6个。“>” ⼤于运算符"原创 2024-01-24 23:04:36 · 793 阅读 · 0 评论 -
【C语言】函数栈帧的创建和销毁
仅自学笔记原文链接:https://blog.csdn.net/m0_64280701/article/details/127160994原文链接:https://blog.csdn.net/qq_61635026/article/details/124384367。原创 2024-03-09 20:41:18 · 1683 阅读 · 0 评论 -
【C语言】【指针】
无关紧要的发现:读取过任意类型后,会留下一个缓冲区,在读取下一个字符前要么在 %c 前加上一个空格,要么提前用 getchar() 吃掉缓冲区参考文章:链接: link在C语⾔中创建变量其实就是向内存申请空间上述的代码就是在(X86)也就是32位环境下创建了整型变量a,内存中申请4个字节,⽤于存放整数10,其中每个字节都有地址,上图中4个字节的地址分别是:0x00CFFB340x00CFFB350x00CFFB360x00CFFB37指针的大小我们可以简单理解,32位机器( X86 )有3原创 2024-03-06 21:43:09 · 1365 阅读 · 2 评论 -
【C语言】qsort函数使用及模拟实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。原创 2024-03-03 21:39:01 · 947 阅读 · 1 评论 -
【C语言】常见概念
a.内置类型:本身自带,可以直接使用,字符型、整形、浮点型、布尔类型(头文件为,从C99中引用来的)、b.自定义类型:可以创造自己想要的类型,数组、结构体、枚举、联合体。原创 2024-01-19 14:38:38 · 352 阅读 · 1 评论 -
【C语言】关于扫雷游戏及递归拓展功能的实现
扫雷原创 2024-02-01 14:59:13 · 389 阅读 · 1 评论