C语言
文章平均质量分 90
C语言的一些相关知识
Ssorrymaker
这个作者很懒,什么都没留下…
展开
-
C/C++内存管理
系列文章目录文章目录系列文章目录一、C/C++内存分布二、C++内存管理方式2.1 对于内置类型2.2 对于自定义类型三、operator new与operator delete函数3.1 operator new与operator delete3.2 operator new与operator delete的类专属重载。四、new和delete的实现原理。4.1 内置类型4.2 自定义类型五、定位new表达式(placement-new)六、1.引入库2.读入数据总结一、C/C++内存分布当C/C原创 2022-04-11 17:32:08 · 1416 阅读 · 11 评论 -
数据结构之二叉树
数据结构之二叉树数据结构相关文章数据结构之线性表数据结构之栈和队列文章目录数据结构之二叉树前言一、二叉树的定义1.1 二叉树的定义1.2 二叉树的特点1.3 特殊二叉树二、二叉树的性质三、二叉树的存储结构3.1 二叉树的顺序存储结构3.2 二叉树的链式存储四、遍历二叉树4.1 前序遍历4.2 中序遍历4.3 后序遍历4.4 层序遍历总结前言要了解二叉树,首先应该知道树是怎样的一种数据结构。树的结点包含一个数据元素以及若干指向其子树的分支。结点拥有的子树的个数称为结点的度。度为0的结点称为原创 2022-03-20 10:28:50 · 2411 阅读 · 18 评论 -
数据结构之排序
数据结构之排序数据结构相关文章数据结构之线性表数据结构之栈和队列数据结构之二叉树文章目录数据结构之排序前言一、冒泡排序(Bubble Sort)二、简单选择排序(Simple Select Sort)三、直接插入排序(Straight Insertion Sort)四、希尔排序(Shell Sort)五、堆排序(Heap Sort)六、归并排序总结前言排序就是按照非递增或者非递减的方式使其成为一个有序的序列。另外需要注意的是,如果排序前两相等的元素之间的相对位置与排序后相比没有发生改变,那原创 2022-04-02 18:46:21 · 2409 阅读 · 15 评论 -
C语言文件操作
C语言文件操作文件操作C语言文件操作一、什么是文件?二、文件指针二、使用步骤1.引入库2.读入数据总结一、什么是文件?在我们使用的计算机的磁盘中的内容都是文件。在程序设计中,文件又可以分为两种类型:程序文件和数据文件(从文件的功能分类)。程序文件:包含源程序文件(.c),目标文件(Windows环境下为.obj),和可执行程序文件(Windows环境下为.exe)数据文件:数据文件就是程序运行时读写的数据,既可以读取,也可以输出为数据内容。对于每一个文件来讲,都要有一个唯一的文件标识,原创 2022-02-22 19:55:14 · 635 阅读 · 15 评论 -
数据结构之线性表
线性表数据结构之线性表线性表一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、pandas是什么?二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_def原创 2022-02-13 19:21:13 · 346 阅读 · 10 评论 -
了解变量的作用域和生命周期
变量的作用域和生命周期文章目录变量的作用域和生命周期一、变量作用域和生命周期二、使用步骤1.引入库2.读入数据总结一、变量作用域和生命周期二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl原创 2021-12-08 17:02:03 · 475 阅读 · 1 评论 -
什么是函数栈帧
函数栈帧的创建与销毁一、函数栈帧的创建1.寄存器2.函数栈帧3.函数中调用函数二、函数栈帧的销毁总结一、函数栈帧的创建1.寄存器一般来说,计算机中的寄存器有六种分别是:eax, ebx, ecx,edx,ebp,esp而ebp,esp这两个寄存器中存放的是地址,与此同时,这两个地址是来维护函数栈帧的。2.函数栈帧每一个函数的调用,都需要在栈区为其开辟一个空间,这块为其开辟的空间就是函数栈帧。ebp:栈底指针esp:栈顶指针对于栈这种数据结构一共有两种栈操作1.pop 出栈2. pu原创 2021-11-21 22:26:14 · 5724 阅读 · 7 评论 -
三子棋小游戏
三子棋小游戏三子棋游戏简介一、分析及实现1.棋盘2.落子3.判断输赢二、程序演示三.完整代码1.main.c2.game.c3.game.h总结三子棋游戏简介这是一个简单的三子棋小游戏,估计大家小时候都玩儿过,只要能连成三个,无论是行,列还是对角线,就可以胜利了。是不是很简单呢,那我们来尝试一下用C语言来写一个简单的三子棋游戏。一、分析及实现1.棋盘想要玩游戏,那首先应该有一个棋盘吧。因为我们玩儿的是三子棋,所以来说一个3X3的棋盘应该可以满足要求。这里使用了一个三行三列的二维数组来模拟三子棋原创 2021-11-11 20:14:28 · 4238 阅读 · 8 评论 -
C语言的数据类型及其存储方式
C语言的数据类型及其存储方式前言一、C语言的数据类型1.常见的数据类型2.整型家族3.构造类型4.指针类型二、整形在内存中的存储1.源码、反码和补码二、使用步骤1.引入库2.读入数据总结前言阿斯顿一、C语言的数据类型1.常见的数据类型下面是几种C语言常见的数据类型char字符数据类型short短整型int整型long长整型long long长长整型float单精度浮点型double双精度浮点型C99新增了_原创 2021-11-24 18:06:23 · 7538 阅读 · 6 评论 -
动态内存分配
动态内存分配文章目录动态内存分配前言一、malloc和free1.malloc2.free二、calloc和realloc1.calloc2.realloc三、内存泄漏总结前言我们都知道,在存储一些相同数据类型的元素时,我们会使用到数组。但是,我们来考虑一种情况,当我们不知道元素个数时,如何指定数组的大小呢,这种情况下,我们可能会指定一个较大的空间的数组,因为其能容纳更多的元素。但是这么做同样会有问题,比如说存储的元素很少,就会造成大量数组空间的浪费。但是如果把数组空间设置的小一点来减少浪费原创 2021-12-16 13:26:35 · 1661 阅读 · 13 评论 -
扫雷小游戏
扫雷小游戏扫雷小游戏简介一、分析与实现1.设计棋盘2.放置雷以及排雷二、扫雷小游戏演示三、源码总结扫雷小游戏简介想必很多人小时候电脑没网的时候都玩儿过这个经典的小游戏,也都被它折磨过。其实这个游戏很简单,通过点击相应位置显示的数字来确定周围雷的数量,在避免踩到雷的同时找出所有的雷就能获得胜利。这次我们用C语言来实现一个简单的扫雷小游戏。一、分析与实现1.设计棋盘要玩儿扫雷游戏,我们首先应该有一个棋盘。这个棋盘中的雷应该是在开始玩儿游戏的时候就已经布置好了,不能随意变化。但是呢又不能给玩家看到原创 2021-11-13 16:29:10 · 3158 阅读 · 14 评论 -
了解缓冲区
了解缓冲区从一段代码入手一、没事儿走两步二、缓冲区1.什么是缓冲区2.缓冲区的作用3.回到上面的那段代码总结从一段代码入手先来观察一下下面的代码:int main(){ int ch = 0; while ((ch = getchar()) != EOF) { putchar(ch); } return 0;}这是很简单的一段代码,代码功能是从缓冲区中读取输入,如果不为EOF,再将输入内容输出。EOF是文件结束标志(end of file),如果想给程序一个EOF的指令,就原创 2021-11-23 16:32:06 · 854 阅读 · 3 评论 -
自定义类型
关于结构体C语言结构体关于结构体前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import nump原创 2022-01-27 12:13:39 · 589 阅读 · 11 评论 -
字符串函数
字符串函数字符串函数字符串函数前言一、strtok二、strerror前言今天给大家介绍两个并不太常见的字符串函数以及他们的使用。分别是strtok和strerror。其中,strtok可以用来分隔字符串,而strerror可以用来打印错误信息。一、strtok首先来看一下函数原型:char * strtok ( char * str, const char * sep );第一个参数str就是我们需要进行字符串分隔的字符串。第二个参数sep是一个字符串,字符串中的字符都是用来进行分原创 2022-01-21 18:29:31 · 199 阅读 · 1 评论 -
C语言的预处理
预处理预处理预处理前言一、预定义符号二、#define1.宏2.宏与函数3.带副作用的宏参数4. 宏和函数的不同5.#undef三、条件编译四、文件包含1.函数库文件包含2.本地文件包含总结前言编译一个C语言程序涉及很多步骤。其中第一个步骤被称为预处理。C语言的预处理器在源代码编译之前对其进行一些文本性质的操作。它的主要任务包括删除注释、插入被#include指令包含的文件内容、定义和替换由#define指令定义的符号,同时确定代码的部分内容是否应该根据一些条件编译指令进行编译。一、预定义符原创 2021-12-28 00:31:50 · 1558 阅读 · 19 评论 -
C语言的关键字
C语言的关键字C语言关键字C语言的关键字前言一、关键字的分类二、最默默无闻的关键字-auto二、最快的关键字-register三、最名不副实的关键字-static总结前言首先,C语言的关键字一共有32个,这是C90标准定义的关键字个数。其实后续的C99标准又新增了五个关键字,但是由于目前主流的编译器对C99的支持并不是特别好,所以我们默认是C90标准定义的关键字,即32个。一、关键字的分类关键字说明auto声明自动变量short声明短整型int声明整型原创 2022-01-10 23:50:38 · 14051 阅读 · 13 评论