自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构——栈和队列

顺序存储的队列之所以被称为循环队列,是因为可以利用更新队头队尾的下标信息,来循环地利用整个数组,出队入队时也不必移动当中的数据。出队:将队头节点从队列中剔除,函数名通常为outQueue()取队头:取得队头元素,但不出队,函数名通常为front()队列是最常见的概念,日常生活经常需要排队,仔细观察队列会发现,队列是一种逻辑结构,是一种特殊的线性表。基于这种固定一端操作的简单约定,栈获得了“后进先出”的基本特性,如下图所示,最后一个放入的元素,最先被拿出来。队头:可以删除节点的一端队尾:可以插入节点的一端。

2024-08-29 15:36:02 1295

原创 数据结构——顺序表和单链表

顺序存储中,由于逻辑关系是用物理位置来表达的,因此从上述示例代码可以很清楚看到,增删数据都非常困难,需要成片地移动数据。顺序表对数据节点的增删操作是很不友好的。优点1. 不需要多余的信息来记录数据间的关系,存储密度高2. 所有数据顺序存储在一片连续的内存中,支持立即访问任意一个随机数据,比如上述顺序表中第个节点是 s->data[i]缺点1. 插入、删除时需要保持数据的物理位置反映其逻辑关系,一般需要成片移动数据2. 当数据节点数量较多时,需要一整片较大的连续内存空间。

2024-08-26 19:41:00 1020

原创 C语言——位运算

如果两个数据长度不同(例如long型和short型),进行位运算时(如a & b,而a为long型,b为short型),系统会将二者按右端对齐。a<<n,可以看做:a * 2^n2. 如果移出的高位包含1,我们是不能使用以上计算方式的。对于左右操作数,只要相应二进制位数据相同,结果数据对应位数据为0,不同为1。对于左右操作数,只要相应二进制位数据有一个为1,结果数据对应为数据为1。对于左右操作数,只有相应二进制位数据都为1时,结果数据对应位数据为1。

2024-08-23 16:28:38 1098

原创 C语言——预处理

不带参数的宏定义。

2024-08-20 14:59:36 1351

原创 C语言——文件

文件是指存储在外存储器上(一般代指磁盘,也可以是U盘,移动硬盘等)的数据的集合。1.文件内容的读取2.文件内容的写入数据的读取和写入可被视为针对文件进行输入和输出的操作,此时数据就像水流一样从外存储器流向内存,或者从内存流向外存储器,所以系统 形象的称文件操作为文件流C语言程序对文件的操作采用“文件缓冲机制”。就是说在程序中对文件的数据读写并不是直接 操作文件中的数据,而是系统会为文件在内存中创建“文件缓冲区”,程序对文件的操作,其实是在 缓冲区进行的。

2024-08-19 21:08:42 641

原创 C语言——结构体指针

结构体类型的指针变量指向结构体变量或者数组的起始地址。

2024-08-15 22:08:57 1753

原创 C语言——构造(结构体)

2>全局位置的结构体名和局部位置的结构体名可以相同,就近原则(和普通变量的定义同理)结构体成员初始化时,可以部分初始化,部分初始化时一定要带大括号标明数据的范围。自定义数据类型的一种,关键字struct,结构体类型的变量可以存储多个不同数据类型的数据。定义匿名结构体的同时必须定义结构体变量,否则编译报错,结构体可以作为另一个结构体的成员。y,x是这个匿名结构体类型的变量;数据类型n 成员名称n:类似于定义变量,定义了结构体中的成员。缺点:只能使用一次,定义的结构体类型的同时就必须定义变量。

2024-08-15 10:17:45 1009

原创 C语言——指针(数组,函数)

假定该指针变量指向具有N个元素的一维数组,则数组指针变量定义如下:数据类型(*数组指针变量名)[N];

2024-08-13 21:27:16 2905

原创 C语言——指针(函数)

指针概述为函数修改实参提供支持。为动态内存管理提供支持。为动态数据结构提供支持。为内存访问提供另一种途径。指针概述系统为了内存管理的方便,将内存划分为一个个的内存单元(1个内存单元占1个字节),并为每一个内存单元进行了编号,内存单元的编号称为该内存单元的地址。一般情况下,我们每一个变量都是由多个内存单元构成的,所以每个变量的内存地址,其实就是这个变量对应的第一个内存单元的地址,也叫首地址。变量地址称为该变量的指针。变量地址往往是指变量在内存中第一个内存单元的编号(首地址)

2024-08-09 09:32:03 831

原创 C语言——函数(2)

在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。C语言的特点之一就在于允许函数的递归调用。

2024-08-06 20:24:50 1198

原创 C语言——函数(1)

③若使用用户定义的函数,而用户函数又在主调函数的后面,则应在主调函数中对被调用的函数进行声明。声明的作用是把函数名、函数参数的个数和类型等信息通知编译系统,以便在遇到函数时,编译系统能正确识别函数,并检查函数调用的合法性。或 return 表达式;系统不会为形参申请内存,只有当函数调用时,系统才会为形参申请内存,用于存储实际参数,并且当函数返回,系统会自动回收为形参申请的内存资源。是把函数名、函数参数的个数和返回类型等信息通知给编译系统,以便于在遇到函数时,编译系统能正确识别函数,并检查函数调用的合法性。

2024-08-05 17:47:15 1206

原创 C语言——二维数组和字符数组

类型(说明符) 数组名[行数(常量表达式1)][列数(常量表达式2)];

2024-08-02 20:00:38 935

原创 C语言——数组

2. 每次排序假定第一个元素是最大/最小的,用第一个元素的后面的元素一一与第一个元素比较,遇到较大/较小的和第一个元素交换,访问完数组的最后一个元素,就排好了一个数;4.若要全部元素值为0,可以写成: int a[10]={0,0,0,0,0,0,0,0,0,0};2. sizeof(arr[0])用来计算数组中一个元素所占的字节大小,因为数组中的元素类型相同,所以计算哪一个都行。所申请的内存单元是连续的。

2024-08-01 19:37:01 618

原创 C语言——循环结构

因此,在有些问题中,如果其重复的操作(即循环体) 一次也不执行(即开始时条件就不满足),则要用while语句来处理,一般不用do-while语句来处理。for语句使用语法规则上,降低/避免因为忘记循环条件更新操作,而引起的产生无限循环的几率。goto只能在同一个函数中跳转,goto会破坏掉代码的结构,同时会降低代码的可读性。在用while语句实现的循环结构中,其循环体可能一次也不执行,即执行当型循环结构一开始,其条件就不满足。2.用在循环中(while,do...while,for...),

2024-07-31 18:29:21 2679

原创 C语言——分支结构程序设计

switch语句定义:根据条件是否成立,选择相应的操作:根据某个条件成立与否,决定是否执行指定的任务。选择结构中的常见形式:if(关系表达式){ 语句1;else语句2;关系表达式:含有关系运算符的表达式(>,=,

2024-07-29 17:40:58 821

原创 C语言——数据的输入输出和顺序结构

2.一个int型整数也可以%u格式输出,反之一个unsigned型整数也可以%d、%o、%x格式输出。如果在小数点后取n位后,所规定的数据宽度m不够输出数据前面的整数部分(包括小数点),则按实际的位数进行输出。在输出实型数据时,格式说明符中的m表示整个数据所占的宽度,n表示小数点后面所占的位数。需要指出的是,在C语言中,用于输出单精度实型数据与双精度实型数据格式说明符是一样的。%g或%G形式:根据数值的大小,自动选%f 或 %e中宽度较短的一种格式,不输出无意义的0。若n>m,m自动取n值。

2024-07-28 14:47:53 879

原创 C语言基础——运算符,程序设计结构,输入输出缓冲机制

缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入 或者输出的数据,这部分预留的空间叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。

2024-07-25 20:15:56 737

原创 C语言基础——变量,数据类型转换,运算符

表达式就是表达某种意思的式子。在C语言中,表达式指的是运算符连接操作数(变量|常量...)的式子。由关系运算符构成的表达式称为关系表达式,关系表达式的值为boolean(布尔值)非0:关系成立,为真0:关系不成立,为假。

2024-07-24 22:50:22 827

原创 C语言基础——进制转换

如果你加上了,那么它的行为是未定义的,有的编译器支持十进制加#,只不过输出结果和没有加#一样,有的编译器不支持加#,可能会报错,也可能会导致奇怪的输出;标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字。方法为:将十六进制数的每一位通过除2取余法(也可以通过权值法),得到二进制数,每一位十六进制数得到的二进制数都应该是4位,不足时在最左边补零。方法为:将八进制数的每一位通过除2取余法得到一个二进制数(也可以通过权值法),这个二进制数必须是3位,如果不够3 位,则最左补0。

2024-07-24 10:44:50 2997

原创 C语言基础——编译,分析,数据类型和进制

main函数的返回值是给上一级进程的,因此理论上讲在当前的单进程程序中,main函数的返回值究竟是多少都无所谓,因为根本没有去使用这个返回值,除非在多进程程序中,进程间才需要使用main函数的返回值来传递信息。而C中定义了一些字母前加 '\' 来表示常见的那些不能显示的ASCII字符,如'\0','\t','\n'等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符的意思了。原码:正数直接使用二进制来表达,最为直观的表示法,将十进制的数值转换成二进制的数值,比如a=100,在内存中是 00…

2024-07-23 21:08:22 790

原创 C语言基础——C语言介绍和嵌入式了解

总之,C 语言以其高效、直接、灵活的特性,成为了计算机编程中的经典之作,对于理解计算机底层运作原理和进行系统级开发具有重要意义。不同的系统都有不同的各种各样的工具,比如vsCode、QtCreator、Xcode、Linux命令行等,不同的环境有其各自的特色。不同的语言在不同的应用场景下具备不同的优势,例如,高级语言更易于理解和编写,而低级语言则更接近硬件,提供更高的性能和控制能力。C语言最初设计用于系统开发和底层编程,它是一种面向过程的语言,强调程序的顺序执行和数据的处理。

2024-07-22 17:58:32 561

原创 Linux基础——网络及进程相关指令

linux中的根目录以外的文件要想被访问,就需要将其关联Linux系统中的某个目录来实现,我们将这种关联操作称作“挂载”,这个目录就是“挂载点”,解除此关联关系的过程称作“卸载”。

2024-07-19 17:34:13 823

原创 linux基础——压缩与解压缩,vim文本编辑

Vim是Linux系统中一个使用非常普遍,而且功能强大的文本编辑器(vi的升级版本)

2024-07-18 20:09:53 860

原创 linux基础——用户管理

1.当前用户2.当前用户组3.其他用户组。

2024-07-17 20:34:46 855

原创 linux基础——目录操作,文件操作

Linux本质是一个文件系统,是操作系统组织,存取,保存数据的一种手段。Linux文件系统采用层级式的倒树状目录结构。

2024-07-16 19:58:05 1620 1

空空如也

空空如也

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

TA关注的人

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