![](https://img-blog.csdnimg.cn/8a65335a93b84384a7cd40a6ccc127c1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言学习记录
文章平均质量分 66
分享自己C语言的学习的记录.
欢迎大家评论区批评指针,共同进步!!
凶悍的狼
这个作者很懒,什么都没留下…
展开
-
[c++]typedef和类型别名
好文分享转载 2022-07-18 17:57:58 · 119 阅读 · 0 评论 -
关于Swap()实现交换不创建临时变量的缺陷
void Swap(int* a, int* b){ (*a) = ((*a) ^ (*b));// a= a^b (*b) = ((*a) ^ (*b)); //b= a^b^b => a^0 =>a (*a) = ((*a) ^ (*b)); //a=a^b^b => a^b^a =>b}该方法通过异或实现(a^a == 0),看似很精妙的算法,并却速度可能比传统的方法更快(但其实对于计算这种亿万富翁那讲,快的也就是那几毛钱,可...原创 2022-04-25 17:53:28 · 145 阅读 · 1 评论 -
[数据结构] 堆排序_剖析
一. 知识铺垫(满二叉树和完全二叉树的一些性质)二叉树具有很多性质,这边主要介绍几个在堆中应用比较多的几个重要性质:1. 若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有 2^(i-1)个结点.2. 若规定根节点的层数为1,则深度为h的二叉树的最大结点数是 2^h-1. 3.若规定根节点的层数为1,则二叉树的深度是 log₂(n-1). 4.对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号...原创 2022-04-16 21:22:26 · 1006 阅读 · 12 评论 -
[数据结构] 树的几种结构实现
代码实现: 文章尾部有图片理解,,结合图片理解效果更佳哦!//孩子表示法 // 假设指定树的度 // 树的指针方式的孩子表示法 图6.5#define N 3struct TreeNode{ int data; struct TreeNode* subs[N]; // 指针数组};//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // 不知道树的度 // 顺序表存孩子的指针struct TreeNo...原创 2022-04-08 22:48:33 · 618 阅读 · 7 评论 -
[数据结构] 栈和队列代码实现 及习题练习
栈(后进先出 Last In First Out)一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈。出数据也在栈顶...原创 2022-04-05 22:44:02 · 1064 阅读 · 1 评论 -
链表OJ练习__[回文链表,相交链表,环状链表,随机链表]全面解析
链表OJ练习图文解析回文链表:链表的回文结构_牛客题霸_牛客网解题思路:图片解析:代码示例:相交链表:力扣160_相交链表解题思路:方法一//方法二 方法对比:代码示例:回文链表:链表的回文结构_牛客题霸_牛客网 解题思路: 1.先用快慢指针找到中下节点力扣876_链表中间节点 2.反转后面部分节点力扣206_反转单链表 3.进行判断 图片解析:代码示...原创 2022-03-30 16:25:34 · 1168 阅读 · 11 评论 -
数据结构:链表和顺序表的实现
线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结 构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物 理上存储时,通常以数组和链式结构的形式存储。文章目录顺序表静态顺序表(使用定长数组存储数组元素)动态顺序表(使用动态开辟存储数组元素)头文件源文件链表无头单向非循环链表头文件源代码带头双向循环链表头文件源代码总结链表和顺序表的对比顺原创 2022-03-26 16:44:32 · 1019 阅读 · 0 评论 -
C 数组 全面剖析
C 数组 全面剖析数组名 数组名的值是一个指针常量,也就是数组第一个元素的地址.它的类型取决于数组元素的类型. 只有在两种场合下,数组名并不是用指针常量来表示------- ①sizeof(数组名),计算整个数组的大小,sizeof内部单独放一个数组名,数组名表示整个数组.sizeof返回整个数组的长度. ②&数组名,取出的是数组的地址.&数组名,数组名表示整个数组.取一个数组名的地址所产生的是一个指向数组的指针.//代码理解int a //原创 2022-02-24 18:37:40 · 486 阅读 · 20 评论 -
C语言 文件操作
文件操作铺垫:文件缓冲区 每一个文件在内存中只有一个缓冲区,在向文件输出数据时,它就作为输出缓冲区.在文件输入数据时,它就作为输入缓冲区. 输入输出是数据传送的过程.数据如流水一样从一处流向另外一处,因此常常形象的称为流(stream),即数据流.流表示了信息从源信息从源到目的的流动.在输入操作时,数据从文件流向计算机内存,在输出操作时,数据从计算机流向文件(如打印机,磁盘文件) c语言程序,只有运行起来,就默认打开了三个流:从终端输入的stdin(标准输入流),向终端输出的stdout原创 2022-02-20 14:12:35 · 580 阅读 · 1 评论 -
C语言 剖析数据在内存中的存储[1](数据类型的介绍)
1.数据在内存空间的大小 (vs环境下)char //字符数据类型 1byteshort //短整型 2byteint //整型 4bytelong //长整型 4byte long long //长长整型 8bytefloat //单精度浮点数 4bytedouble //双精度浮点数 8byte类型原创 2021-12-05 21:59:50 · 373 阅读 · 3 评论 -
C语言细节操作 &a+1 (两图解决一切)
一件有趣的事情;表达式中 如果出现 &a+1,究竟加多少,二话不说直接上图说明一切!!!!总结!!! 当表达式 中出现 int p=&a+1的时候, +1所加的大小 是 a所占的大小; 即&a, 得到不仅仅是a的地址,还有a的类型;这个借助指针的赋值来理解;当我们创建一个指针时,是这样创建的int a=10;int* p=&a;理所当然, 当我们正常定义一个 指针时,&a的类型应...原创 2021-11-18 16:34:27 · 2554 阅读 · 10 评论 -
C语言笔记 static 关键字
static 关键字static作用于同一个文件中的作用;static作用于不同文件中的作用; static作用于函数,代码块之外的变量; 修改链接属性,但标识符的存储类型和作用域不受影响; static作用于代码块内部;...原创 2021-10-22 00:28:32 · 243 阅读 · 3 评论 -
C语言基础 const的理解(含例题)
const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助。(摘自百度百科CONST(C中的CONST)_百度百科 (baidu.com))...原创 2021-12-05 19:44:34 · 815 阅读 · 2 评论