![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言查漏补缺
文章平均质量分 83
本专栏包含C语言各种基本语法。
这题怎么做?!?
种一棵树的最好时间是十年前,其次是现在。
展开
-
【C语言】隐式转换与整型提升
隐式转换与整型提升原创 2023-08-26 19:49:18 · 198 阅读 · 1 评论 -
【C语言】字符串函数介绍
字符串函数的详细介绍以及模拟实现原创 2023-09-29 14:43:30 · 76 阅读 · 1 评论 -
C语言:数据在内存中的存储
1. 数据类型详细介绍2. 整形在内存中的存储:原码、反码、补码3. 大小端字节序介绍及判断4. 浮点型在内存中的存储解析提示:以下是本篇文章正文内容,下面案例可供参考在32位计算机操作系统下charshortintlonglong longfloatdouble//字符数据类型------------1个字节//短整型 --------------------2个字节//整形------------------------4个字节。原创 2023-08-08 20:03:58 · 74 阅读 · 1 评论 -
【C语言】结构体大小的计算
4. 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的 整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。第四步:找到结构体类型中的最大对齐数,本题为 4 ,结构体大小即为最大对齐数的倍数,大小为 12。结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。编译器默认的一个对齐数 与 该成员大小的。原创 2023-09-30 00:16:33 · 71 阅读 · 0 评论 -
C语言—qsort(快速排序)函数的使用。
base:指向要排序的数组的指针,即数组的首地址。num:数组中元素的个数。size:每个元素的大小(以字节为单位)。comparator:用于比较两个元素的函数指针,可以自定义实现。comparator函数应该接受两个类型的参数,分别表示要比较的两个元素。如果第一个元素小于第二个元素,comparator函数应该返回一个负整数。如果第一个元素等于第二个元素,comparator函数应该返回0。如果第一个元素大于第二个元素,comparator函数应该返回一个正整数。原创 2023-09-10 15:01:49 · 90 阅读 · 1 评论 -
C语言—函数指针与函数指针数组(含回调函数的使用)。
函数指针,顾名思义是一种指针。例如数组指针,数组指针变量中存储的是数组的地址(即数组首元素的地址),那么函数指针中存储的是不是函数的地址呢?接下来我们一起学习下函数指针的定义函数指针是指向函数的指针变量。在 C 语言中,函数名可以被视为函数在内存中的地址,因此可以用指针来存储和传递函数的地址。那么函数指针有什么作用呢?我们也一起来了解下:函数指针的作用主要有以下几点:回调函数:函数指针允许将一个函数作为参数传递给另一个函数,以便在调用函数时执行被传递的函数。这种机制称为回调。原创 2023-09-09 15:12:24 · 225 阅读 · 1 评论 -
结构体、枚举类型、共同体的定义与使用
一、结构体如何定义结构体变量及进行初始化?struct Point{ int x; int y;}p1; //声明类型的同时定义变量p1struct Point p2; //定义结构体变量p2//初始化:定义变量的同时赋初值。struct Point p3 = {x, y};struct Stu //类型声明{ char name[15];//名字 int age; //年龄};struct Stu s = {"zhangsan", 2原创 2023-09-30 00:59:06 · 71 阅读 · 0 评论 -
动态内存函数(malloc,free,calloc,realloc)
【代码】动态内存函数(malloc,free,calloc,realloc)原创 2023-10-01 21:12:50 · 77 阅读 · 0 评论 -
c语言实现三(多)子棋游戏
相信大家都玩过三子棋游戏。三子棋,顾名思义,就是玩家通过在“井”字格中摆上自己的棋子,当有三颗相同的棋子连成一条线时即为获胜。多子棋亦是如此。srand()和rand()是C语言中用于生成随机数的标准库函数,它们声明在stdlib.h头文件中。void meau()//打印菜单//打印棋盘。for (i = 0;i < row;j < col;k < col;k++)原创 2023-07-28 12:00:13 · 98 阅读 · 0 评论 -
C语言中的宏定义
宏定义是一种预处理指令,用来在编译之前对代码进行替换处理。通过#define指令,我们可以为特定的标识符定义一个代表值或代码片段的宏。一旦定义了宏,编译器将会在编译过程中自动将它替换为相应的值或代码。#define 宏名 替换文本最简单的宏定义用法是将特定的标识符替换为一个常量。在程序中使用宏定义时,编译器会将所有的PI替换为3.14159。宏定义虽然功能强大,但如果不慎用可能会导致代码可读性下降或出现隐藏的错误。因此,在使用宏定义时应谨慎考虑,并确保遵循良好的编码规范。原创 2023-10-22 20:01:11 · 150 阅读 · 1 评论 -
【C语言】内存函数(memset,memcpy,memmove,memcmp)函数详解
memmove函数处理的源内存块和目标内存块是可以重叠的。如果源空间和目标空间出现重叠,就得使用memmove函数处理。原创 2023-09-29 19:28:04 · 109 阅读 · 1 评论 -
【C语言】文件操作函数
函数在C语言中用于打开文件,并返回一个指向文件的指针,可以根据指定的文件名和打开模式进行不同类型的文件操作。函数关闭文件,以确保文件资源得到正确释放。函数用于打开一个具有指定文件名的文件,并返回一个文件指针,以供后续的文件读写操作使用。函数之后,应该确保不再需要对该文件进行操作,以免出现意外的错误。函数在关闭文件后,将无法再对该文件进行读写操作。函数用于关闭一个打开的文件,并释放与文件相关的资源。函数关闭文件,以确保文件资源被正确释放。需要注意的是,在操作文件之后,应该使用。在处理完文件后,应该调用。原创 2023-10-14 21:01:30 · 2953 阅读 · 1 评论 -
C语言实现简易“扫雷”小游戏(含递归)
srand() 和 rand() 是C语言中用于生成随机数的标准库函数,它们声明在 stdlib.h 头文件中。既然是实现9x9的棋盘,我们为什么要建立11x11大小的数组呢?由于博主自身水平原因,此处的 模块化设计 以及 递归 的应用不是特别好。本节主要为大家实现简易扫雷游戏。小伙伴们如果有更好的递归或判断方法欢迎在评论区交流意见。原创 2023-07-30 21:31:16 · 164 阅读 · 1 评论 -
【C语言】详解void *(无类型指针)
我们在之前的学习中了解到指针的定义方法,通常为:【数据类型】 * 【指针变量】,例如我们定义一个整形的指针变量 a:int * a。我们如何对无类型指针进行解引用呢?对于它的详细使用,我们将在后续的《qsort函数的使用》这一博文中为大家阐述。在某些情况下非常有用,例如在需要传递指向不同类型的数据的函数参数中,或者需要在运行时动态地操作指针类型的情况下。是一种通用的指针类型,可以用来表示任何类型的指针。在这个程序中,我们需要将 a,b 变量强制转化为 int* 的类型,才能进行后续的操作。原创 2023-09-08 17:32:20 · 787 阅读 · 1 评论