自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 二叉树与顺序结构二叉树的实现

对于深度为 K 的,有 n 个 结点的⼆叉树,当且仅当其每⼀个结点都与深度为K的满⼆叉树中编号从 1 ⾄ n 的结点⼀⼀对应时称 之为完全⼆叉树。⼦结点/孩⼦结点:⼀个结点含有的⼦树的根结点称为该结点的⼦结点;如上图:B是A的孩⼦结点 结点的度:⼀个结点有⼏个孩⼦,他的度就是多少。在树形结构中,我们最常⽤的就是⼆叉树,⼀棵⼆叉树是结点的⼀个有限集合,该集合由⼀个根结点 加上两棵别称为左⼦树和右⼦树的⼆叉树组成或者为空。⽗结点/双亲结点:若⼀个结点含有⼦结点,则这个结点称为其⼦结点的⽗结点。

2024-09-12 12:15:43 920

原创 简要介绍编译与链接

在这个阶段,编译器会对预处理后的文件进行词法分析(lexical analysis)、语法分析(syntax analysis)、语义分析(semantic analysis)和中间代码生成(intermediate code generation)。编译是将高级语言(如C语言)编写的源代码(source code)转换为机器语言(machine code)的过程。链接器(linker)负责完成这个任务。如果一个目标文件中的函数或变量引用了另一个目标文件中的函数或变量,链接器就需要找到这些引用的目标位置。

2024-06-11 16:39:31 426

原创 文件操作(c语言)

在C语言中,文件操作通常是缓冲的,这意味着数据在写入文件之前先被写入缓冲区,当缓冲区满或文件被关闭时,数据才会被实际写入文件。文件名是文件的唯一标识,由字母、数字、下划线等组成,通常还包含文件扩展名(如 .txt、.bin)。文件是存储在外部存储介质(如硬盘、光盘等)上的数据的集合,这些数据通常具有特定的格式和结构。二进制文件:以二进制形式存储数据的文件,数据在文件中的表示形式与其在内存中的表示形式相同。文件是计算机中存储数据的重要手段之一。在C语言中,使用文件前需要先打开文件,使用完毕后需要关闭文件。

2024-06-04 16:23:09 136

原创 ⾃定义类型:结构体

当你有一个指向结构体的指针时,你不能直接使用点操作符来访问其成员,因为点操作符需要的是一个结构体变量,而不是一个指针。动态分配的内存:如果结构体是通过动态内存分配(如使用malloc或calloc)创建的,并且你通过指针将其传递给函数,那么请确保在适当的时候释放该内存(使用free)。4. 如果嵌套了结构体的情况,嵌套的结构体成员对⻬到⾃⼰的成员中最⼤对⻬数的整数倍处,结构 体的整体⼤⼩就是所有最⼤对⻬数(含嵌套结构体中成员的对⻬数)的整数倍。这样,函数接收的是指向结构体的指针,而不是结构体的副本。

2024-05-26 23:37:15 466

原创 整型与浮点型数据在内存中的存储

IEEE 754规定: 对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M 对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。那么,第⼀位的符号位S=0,有效数字M等于001后⾯再加20个0,凑满23位,指数E等于3+127=130, 即10000010 所以,写成⼆进制形式,应该是S+E+M,即。⾸先,将 9 的⼆进制序列按照浮点数的形式拆分,得到第⼀位符号位s=0,后⾯8位的指数 E=00000000 ,

2024-05-23 00:05:53 886

原创 C语⾔内存函数

• 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。memcpy函数用于从源内存块复制指定字节数的数据到目标内存块。源内存块和目标内存块不能重叠。• 和memcpy的差别就是memmove函数处理的源内存块和⽬标内存块是可以重叠的。• 如果source和destination有任何的重叠,复制的结果都是未定义的。memset函数用于将指定内存块设置为特定的值(通常是一个字节的值)。值),返回值<0,在两个内存块中不匹配的第一个字节在。

2024-05-20 23:20:43 310

原创 字符函数和字符串函数

在不同的系统和C语⾔标准库的实现中都规定了⼀些错误码,⼀般是放在 errno.h 这个头⽂件中说明 的,C语⾔程序启动的时候就会使⽤⼀个全局的变量errno来记录程序的当前错误码,只不过程序启动 的时候errno是0,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会将对应 的错误码,存放在errno中,⽽⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是 有对应的错误信息的。• strtok函数找到str中的下⼀个标记,并将其⽤ \0 结尾,返回⼀个指向这个标记的指针。

2024-05-20 22:28:45 859

原创 深入理解指针

例如,int arr[10]中传递的就是&arr[0],int arr[10][10]中传递的首元素地址其实为第一行的地址,类型为int (*)[10],其实可以发现二维数组传参传递的是其第一行的这个一维数组的地址。下面我们将详细探讨指针的多个方面,包括数组传参本质、多级指针、数组指针、指针数组、函数指针、转移表、函数指针数组、字符指针、回调函数以及qsort函数的使用。qsort函数接受四个参数:要排序的数组、数组中的元素数量、每个元素的大小(以字节为单位)以及一个用于比较元素的函数指针。

2024-05-14 22:56:20 239

原创 c语言实战(扫雷游戏的实现)

如图,当我们排查这些标记的雷的位置时,我们会发现当这个位置在棋盘内部区域时,我们需要排查它周围的8个坐标,然而当这个位置在棋盘边缘的时候我们就要排查它周围的5个或者3个坐标。字符‘0’对应的ASCII值为48,同时,对于数字来说,ASCII值是连贯的,也就是说‘1’,‘2’,‘3’数字字符对应的ASCII值依次为49 50 51,所以,可以得出一个结论,任何数字字符-‘0’=这个数字字符所对应的数字,任何数字+‘0’ = 这个数字所对应的数字字符(这就是我们为什么要去定义雷为‘1’非雷为‘0’)

2024-04-21 23:45:43 821 1

原创 C语言中的分支和循环语句

注意:每个 case 后的代码块后通常跟一个 break 语句,以避免执行下一个 case 的代码。这些分支和循环语句是编写复杂逻辑和算法的关键工具,它们允许你根据特定条件控制程序的流程。if-else 语句用于根据条件测试结果执行两个不同的代码块。它们允许程序根据某些条件执行不同的代码块,或者重复执行某个代码块。如果条件为真(非零),则执行 if 后面的代码块。do-while 循环至少执行一次代码块,然后在给定条件为真时重复执行。switch 语句用于基于表达式的值选择多个代码块之一来执行。

2024-04-09 22:57:33 334

原创 第一次学编程,对自己的期待。

Google作为全球领先的科技公司,不仅在搜索引擎领域具有举足轻重的地位,还在人工智能、云计算、大数据等多个领域取得了显著成就。我希望能够加入这样一个充满活力和创新的公司,与优秀的同事一起工作,共同推动技术的发展和应用。同时,我也期望通过Google的平台,不断提升自己的技能和能力,实现个人价值的最大化。其中,5个小时用于系统学习基础知识,3个小时用于实践项目,剩下的2个小时用于参加在线课程、参与社区讨论以及复习和巩固所学内容。参加在线课程:选择优质的在线编程课程,跟随专业讲师学习,加深对知识点的理解。

2024-03-29 19:20:22 181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除