C语言
文章平均质量分 90
本专栏以介绍C语言知识为主,包括C语言基础语法,进阶语法,以及包括一些C语言实现的小项目等等。
不是笨小孩i
C/C++领域新星创作者,阿里云专家博主,2023新星计划C/C++赛道TOP1,平凡的日子不动声色就很美好,不完美才是常态。
展开
-
【C】数据在内存中的存储
但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上一个中间数,对于8位的E,这个中间数是127;这样做的目的,是节省1位有效数字。我们可以用数字1来举例,我们将a的地址取出,强制转化为字符指针,这样我们解引用只能访问一个字节的内容,如果这个字节的内容为1,就证明该机器为小端存储,否则就为大端存储。pFloat为float指针类型,在从内存中拿n时是以浮点数的形式往外面拿的,我们可以看到2-9为都为0,所以就对应了一个非常小的数字,所以就是0。原创 2023-07-04 09:22:25 · 1953 阅读 · 137 评论 -
【C】程序环境和预处理
这些预定义符号都是语言内置的。return 0;语法:;case100;casefor;;;caseint;casebreak;case这些定义方法都是可以的,后面可以是一个数字,也可以是一个类型,甚至可以是一段代码,这样都是可以的。在define定义标识符的时候,要不要在最后加上;?建议不要加上;,这样容易导致问题。原创 2023-07-20 13:29:53 · 1079 阅读 · 172 评论 -
【C】文件操作详解
磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。数据文件文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件。我们里讲的都是数据文件。原创 2023-07-17 10:46:14 · 781 阅读 · 108 评论 -
【C】动态内存管理详解
这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。如果参数 size 为0,malloc的行为是标准是未定义的,取决于编译器。原创 2023-07-15 09:11:03 · 1093 阅读 · 102 评论 -
【C】自定义类型详解
我们在声明一个结构体后就可以创建该结构体变量了,并且在创建的时候还可以进行赋值,也就是初始化。struct Stu //类型声明 {//名字 int age;//年龄 };//初始化枚举的关键字是enum。enum Color //颜色 {以上定义的 enum Color是枚举类型。{}中的内容是枚举类型的可能取值,也叫 枚举常量。这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。enum Color //颜色 {联合的关键字是union。原创 2023-07-14 10:49:33 · 835 阅读 · 122 评论 -
【C】回调函数和qsort详解
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。简单的来说,回调函数就是通过函数指针调用的函数就是回调函数。我们库里面有一个函数qsort,就用到了回调函数。原创 2023-07-11 08:13:06 · 693 阅读 · 100 评论 -
【C】指针详解(一篇文章带你玩转指针)
很多人学习C语言都在为指针头疼,今天一篇文章带你玩转指针。原创 2023-07-10 08:09:42 · 1029 阅读 · 117 评论 -
【C】字符串函数和内存函数的介绍
(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。从第一个字节开始比较,如果不相同,*ptr1大于 *ptr2时返回大于0的数字,小于时返回小于0的数字,num个字节都相同返回0.字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。原创 2023-07-12 17:29:17 · 721 阅读 · 112 评论 -
【C】操作符详解
今天给大家带来一篇关于C语言操作符的详细介绍,在C语言中操作符主要有以下几种:1.算术操作符2.移位操作符3.位操作符4.赋值操作符5.单目操作符6.关系操作符7.逻辑操作符8.逗号表达式9.条件操作符9.下标引用,函数调用和结构成员接下来给大家详细介绍!原创 2023-06-30 11:41:47 · 506 阅读 · 59 评论 -
【C】C语言实现扫雷小游戏
相信大家一定都玩过扫雷小游戏,今天我就带大家来用C语言实现一个简易版的扫雷小游戏。原创 2023-06-26 07:05:25 · 575 阅读 · 55 评论 -
【C】C语言实现三子棋小游戏
我们刚开始一定需要一个棋盘,然后就是将它初始化,初始化以后我们要打印一下,让玩家看到棋盘,接下来就是下棋了,下棋肯定是一个重复的过程,一人下一次,因此下棋的逻辑肯定要用循环来表示,每一次下棋以后都要判断是否有人赢,以及棋盘是否满了,如果都不满足,游戏才继续,等游戏结束后我们要打印谁赢了还是平局,所以这里我们可以用ret 来当做一个标识。while循环来实现,我们还需要一个菜单来提示我们的玩家,所以我们应该需要一个菜单函数,我们就可以在main函数中先把大体的框架搭建起来。这是我们需要一个函数来初始化棋盘。原创 2023-06-25 11:05:31 · 608 阅读 · 49 评论 -
【C】分支和循环语句的简单介绍
什么是语句呢?在C语言中由分号(;)隔开的就是一条语句。原创 2023-06-21 14:07:20 · 739 阅读 · 40 评论 -
【C】static关键字详解
static的汉语意思是静态的,在C语言中static关键字可以用来修饰在这里给大家补充一个知识,我们的数据在内存中存储时,大概分为3个区域。1.:我们创建的局部变量、形参等一般就存放在这个区域,离开作用域是会自动销毁,将空间还给操作系统。2.:堆区存储的数据一般是由我们程序员自己来开辟的,比如使用malloc、realloc等来动态开辟,这个区域的空间需要我们程序员自己释放,否则就会造成内存泄漏。3.:这里一般存储的是全局变量和静态变量,他是有操作系统创建的,工程结束后由操作系统回收。原创 2023-06-17 11:27:31 · 800 阅读 · 45 评论 -
【C】转义字符以及注释的介绍
转义字符顾名思义就是转变意思。每个转义字符都代表某一个ASCII码表内特定的字符。但是这样运行出来的结果是:这里就是因为转移字符,我们没能得到想要的结果,C语言中编译器看到****再加上后面的一个字母,编译器就会认为要转义了,所以我们这样是打印不出来我们想要的结果的,要想打印正确的结果我们可以使用\进行两次转义,道理可以理解为负负的正。这样我们就可以得到正确的结果了。在这里给大家看一下C语言中的转义字符:这里的\t就相当于一个Table一般为4个长度。原创 2023-06-14 16:13:39 · 472 阅读 · 38 评论 -
【C】C语言数据类型、常量变量的介绍
下图为C语言常见的数据类型:(浮点数就是我们常见的小数,字符类型要用‘’引起来,在C语言中字符串类型要用字符数组来表示,以后给大家慢慢介绍)在C语言中没种数据类型所占的空间大小是不一样的,在这里给大家介绍一个库函数:sizeof,它可以计算每种数据类型所占的空间的大小,我们可以用代码来计算每种类型所占的空间的大小,如下:下图为运行结果:从图中我们可以看出他们所占空间的大小各有差异,在这里需要解释一下的sizeof算出的是byte(字节)大小,具体的单位换算如下:我们在写代码是根据自己需要来选择合原创 2023-06-13 11:20:54 · 577 阅读 · 34 评论 -
【C】C语言的介绍以及第一个C语言程序
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU )以及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSIC。原创 2023-06-11 15:45:59 · 575 阅读 · 19 评论