自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言—指针2

我们把a,b传给函数Swap,Swap函数内部创建了形参x和y接受a和b的值,但我们可以看到x和y确实接收了a和b的值并且交换了,但是他们的地址是不一样的,所以交换x和y并不会影响到a和b的值,Swap函数在使用的时候,是把变量本身传给了函数,这种调用的方式我们叫传值调用。arr[i]是访问arr数组的元素,arr[i]找到数组的元素指向了整型一维数组,arr[i][j]就是整型一维数组中的元素。——&数组名,这里的数组名表示整个数组,取出的是整个数组的地址(整个数组的地址是和首元素的地址是有区别的)

2024-08-27 14:30:00 703

原创 C语言—指针1

上述代码中n是不能被修改的,其实n本质是变量,只不过被const修饰后,在语法上加了限制,只要我 们在代码中对n就⾏修改,就不符合语法规则,就报错,致使没法直接修改n。我们通过取地址操作符(&)拿到的地址是一个数值,比如:0x006ffd70,这个数值有时候也是需要储存起来,方便后期的使用,那我们就需要把这样的地址存放在指针变量中。const放在*号右边,限制的是pn变量,也就是pn变量不能修改了,没办法在指向其他变量了但是*pn不受限制,还是可以通过pn来修改pn所指向的对象的内容。

2024-08-21 17:04:36 712

原创 操作符详解

8进制的数字每⼀位是0~7的,0~7的数字,各⾃写成2进制,最多有3个2进制位就⾜够了,⽐如7的⼆ 进制是111,所以在2进制转8进制数的时候,从2进制序列中右边低位开始向左每3个2进制位会换算⼀ 个8进制位,剩余不够3个2进制位的直接换算。如果某个操作符的各个操作数属于不同的类型,那么除⾮其中⼀个操作数的转换为另⼀个操作数的类 型,否则操作就⽆法进⾏。结构是一些值的集合,这些值称为成员变量。有符号的整数的三种表示方式均有符号位和数值位两部分,2进制中序列最高的1位是被当做符号位,剩余的都是数值位。

2024-08-21 14:45:00 884

原创 C语言-函数的递归

递归是一种解决问题的方法,在C语言中,递归就是自己调用自己。写一个最简单的C语言递归函数:上述的代码就是一个简单的递归程序,只不过上面的递归只是为了演示递归的基本形式,不是为了解决问题,代码最终也会陷入死递归,导致栈溢出。把一个大型复杂的问题层层转换为一个与原问题相似,但规模比较小的子问题来求解;直到子问题不能再被拆分,递归就结束了。所以递归的思考方式就是把大事化小的过程,递归中的递就是递推的意思,归就是回归的意思。

2024-08-17 17:49:24 811

原创 数组和函数的实践:扫雷游戏

在继续分析,我们在棋盘上布置了雷,棋盘山雷的信息(1)和非雷的信息(0),假设我们排查了某一个位置之后,这个坐标不是雷,这个坐标的周围有1个雷,那我们需要将排查出的雷的数量信息记录存储,并打印出来,作为排查雷的重要参考信息。假设我们排查(8,6)这个坐标的时候,我们访问周围一圈8个位置,统计周围雷的个数的时候,最下面的三个坐标就会越界,为了防止越界,我们在设计的时候,给数组扩大一圈,雷还是布置在中间9*9的坐标上,周围的一圈不去布置雷就行,这样就解决了越界的问题。-扫雷的棋盘是9*9的格子。

2024-08-17 15:00:00 542

原创 C语言—函数

自定义函数和库函数是一样的,形式如下:——ret_type是函数的返回类型——fun_name是函数名——括号中放的是形式参数——{}括起来的是函数体举个例子:写一个加法函数,完成两个整型变量的加法操作。函数的参数部分需要交代清楚:参数个数,每个参数的类型是啥,形参的名字叫啥。函数的名字是自定义的,根据实际的情况取名字函数的参数个数也是根据实际情况来确定的,可以有0个参数,也可以有多个参数函数可以返回值,也可以不返回,要根据实际情况来写,函数不返回的时候,返回类型写void。

2024-08-11 17:21:15 681

原创 C语言-数组

从输出结果来看,每一行内部的每个元素都是相邻的,地址之间相差4个字节,跨行位置处的两个元素(如:arr[0][4]和arr[1][0])之间也是相差4个字节,所以二位数组中的每个元素都是连续存放的。我们前面看到的都是一维数组,数组的元素都是内置类型,如果我们把一维数组作为数组的元素,这个时候就是二维数组,二维数组作为数组元素的数组就是三维数组,二维数组以上的数组统称为多维数组。图中最左侧绿⾊的数字表⽰⾏号,第⼀⾏蓝⾊的数字表⽰列号,都是从0开始的,⽐如,我们说:第2 ⾏,第4列,快速就能定位出7。

2024-08-11 14:00:00 1136

原创 C语言实现猜数字小游戏

1.电脑自动生成1-100的随机数2.玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了还是小了的反馈,直到猜对游戏结束。

2024-08-07 18:25:29 1015

原创 分支与循环

C语言是结构化的程序设计语言,这里的结构是指顺序结构,选择结构,循环结构,C语言是能够实现这三种结构的。我们可以使用if,switch实现分支结构(顺序和选择),使用for,while,do whle实现循环结构。1.if语句if语句的语法形式如下:表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行。在C语言中,0表示假,非0表示真,也就是表达式的结果如果是0;则语句不执行,表达式的结果如果不是0,则语句执行。

2024-08-07 14:00:00 1015

原创 C语言数据类型和变量

C语言提供了丰富的数据类型来描述生活中的各种数据。使用整型类型来描述整数,使用字符类型来描述字符,使用浮点型类型来描述小数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道操作数据。那么C语言的数据类型有哪些呢?下面我给大家整理了一张图。字符型:整型浮点型布尔类型C语言原来并没有为布尔值单独设置一个类型,而是使用整数0表示假,非零值表示真。在c99中也引入了布尔类型,是专门表示真假的。

2024-08-03 18:46:32 949

原创 初识C语言

C语言中有一批保留的名字的符号,比如:int,if,return,这些字符被称为保留字或者关键字。关键字都有特殊的意义,是保留给C语⾔使⽤的,程序员⾃⼰在创建标识符的时候是不能和关键字重复的,关键字也是不能⾃⼰创建的。

2024-08-01 20:31:44 477

原创 编译和链接

我们在 test.c ⽂件中每⼀次使⽤ Add 函数和 g_val 的时候必须确切的知道 Add 和 g_val 的地 址,但是由于每个⽂件是单独编译的,在编译器编译 test.c 的时候并不知道 Add 函数和 g_val 变量的地址,所以暂时把调⽤ Add 的指令的⽬标地址和 g_val 的地址搁置。但是在这样的开发过程中,我们往往会被这些复杂的集成工具所提供的强大功能所迷惑,很多系统软件的运行机制与机理被掩盖,其程序的很多莫名奇妙的错误让我i们无所适从,面对程序运行时种种性能瓶颈我们束手无策。

2024-01-18 17:17:18 880 1

原创 动态内存管理

realloc函数的出现让动态内存管理更加灵活,有时候我们会发现过去申请的空间太小了,有时候我们又觉得申请的空间又大了,那么为了合理的使用内容,我们一定会对内存的大小做灵活的调整。情况1:在已经开辟好的空间后边,没有足够的空间,直接进行空间的扩大在这种情况下,realloc函数会在内存的堆区重新找一个空间(满足新的空间的大小需求)同时会把旧的数据拷贝到新的空间,然后释放旧的空间,同时返回新的空间的起始地址。函数的功能是为num个大小为size的元素开辟一块空间,并且把空间的每个字节初始化为0。

2024-01-17 15:07:58 931

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

在不同的系统和C语言标准库的实现中都规定了一些错误码,一般是放在errno.h这个头文件中说明的,C语言程序启动的时候就会使用一个全局的变量errno来记录程序的当前错误码,只不过程序启动的时候errno是0,表示没有错误,当我们在使用标准库中的函数得时候发生了某种错误,就会将对应的错误码,存放在errno中,而一个错误码的数字是整数很难理解是什么意思,所以每一个错误码都有对应的错误信息。strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。

2024-01-13 17:04:48 796 1

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

这里有使用它的一些细节:1,源字符串必须以‘\0'结束 2,目标字符串中也得有'\0',否则没办法知道追加从哪里开始 3,目标空间必须有足够大,能容纳下源字符串的内容 4,目标空间必须可修改。比较str1和str2的前num个字符,如果相等就继续往后比较,最多比较num个字母,如果提前发现不一样,就提前结束,大的字符所在的字符串大于另外一个,如果num个字符都相等就返回0.注意:比较的不是字符串的长度!在我们的库函数中提供了一系列的函数是专门来做字符分类的,也就是一个字符是属于什么类型的字符的。

2023-12-23 16:47:35 953 1

空空如也

空空如也

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

TA关注的人

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