自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十四章 指针(4)

我们可以把调⽤的函数的地址以参数的形式传递过去,使⽤函数指针接收,函数指针指向什么函数就调⽤什么函数,这⾥其实使⽤的就是回调函数的功能。如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。通过该代码我们可以发现代码变得更加简洁的,上一章我们还使用了函数指针数组,大家对比一下代码,看看自己能够更适合那种。我们来举一个的例子来对比两者的区别。我们来回调函数来使代码变得简洁一番。二、qsort 使用举例。一、回调函数是什么?简单来说回调函数就是。

2024-09-09 15:06:12 221

原创 第十五章(指针5)

在我们初学习的时候,有许多同学会把sizeof和strlen函数给混淆,那么本章我们就来详细的探讨一下。strlen函数统计的是字符串\0之前的字符串,遇见\0停止。打印出来的是6其实并不是,是随机值,,需要我们来添加,如果没有添加,就会自动在内存中找,直到遇见\0为止,所以是一个随机值。strlen函数:求字符串的长度的,针对的是字符串(这个就是一个很大的区别),单位是字节,如果操作数是类型的话,我们计算的是类型的大小。3.除此之外的数组名都表示数组的首元素的地址。1.sizeof(数组名),这里的。

2024-09-09 15:04:14 391

原创 第十三章 指针(3)

这个代码我们初学的时候很容易就会理解把“abcdef”的地址存放在地址中,但是实际上只是把首字符(a)的地址放到了pr中,再打印的时候编译器会跟根据首地址来进行访问打印。那么对于二维数组来说,其本质是由一维数组组成的,同理我们可以猜测,二维数组传递的是第一行的一维数组。指针的类型有很多类型,我们常见的是int * ,那么接下来我们来介绍另一种,char *类型的指针。这里我们来回忆一下,我们在介绍一维数组传参的本质的时候证明了传的是数组首元素的地址。我们原来在写函数对数组传参的时候,形参也可以用数组接收。

2024-09-04 23:47:34 747

原创 第十二章 指针(2)

上边的代码就算遇见顺序的数据也会正常执行浪费时间,我们来改造一下,当我们遇见一个顺序的时候,如果在进行这样的判断不就会浪费时间了。这里我们发现sizeof(数组名),计算的是整个数组的大小单位是字节,这里的数组是int且是整形所以就是40。接下来我们来引入一个问题,我们之前都是在函数外部来计算元素个数的,那么我们可以把数组传递给函数,指针变量也是变量,是变量就有地址,那么指针变量的地址存放在那么呢?(整个地址的数组和数组首元素的地址有区别的),其本质数组的传参传递的就是首元素的地址。

2024-08-31 21:40:49 854

原创 既相逢,却匆匆(第11章指针)

在指针类型中有一种的类型是 void * 类型的,可以理解无具体类型的指针(可以理解位垃圾桶),就是可以接收任意类型的指针,但是有利就有弊,void *类型不可以进行指针的+ -整数和解引用的运算。指针-指针得到是字符的长度,我们此时可以想到,strlen也是得到字符的长度的,那么我们是否可以通过次运算来写出自己的strlen函数呢?既然每个指针变量的大小在相同平台下的大小都是相同的,那么为什么还要区分呢?野指针:顾名思义就是指向的方向是不明的(随机,无限制的,错误的),理解成为野狗(流浪的,可恶的)。

2024-08-25 15:46:29 1048

原创 无可奈何花落去,似曾相识燕归来(第五章数组)

而在c99之后引入了变长数组,此时我们就可以创建变量来命名,根据我们所需要的大小来创建变量这样就使其更加灵活。从名字上我们可以看出这是一个数的集合,在我们平常的时候 ,储存数据只能用变量并且只能储存一个数字,那如果我们想要初存多个变量呢?在我们要想知道数组元素的个数,如果储存的元素过多我们不可能一个一个的来数。我们在一维数组中通过数组的下标来访问元素,那么我们在二维数组也可以通过下标来访问二维数组的元素。这样我们就可以在使用数组元素的时候就不用写的那么死板了,不管数组怎么变换我们都。

2024-08-22 22:32:17 584

原创 莫愁前路无知己(第三章)

C语⾔⽤于⽐较的表达式,称为“关系表达式”(relationalexpression),⾥⾯使⽤的运算符就称为“关系运算符”(relationaloperator),主要有下⾯6个。, 与赋值运算符=,是两个不⼀样的运算符,不要混淆。此外逻辑运算符还有需要注意一个问题,C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是。在我们日常解决问题的时候我们可以发现,不管什么事情的解决都是需要逻辑的,一般来说我们只需要三种形式就可以完美的解决其中的问题。

2024-08-18 21:10:20 1034

原创 猜数字得爱心code(小黑子版 (第四章))

今天 我们对代码不解释太多,只粗略的过一下。在学完循环和分支语句之后我会为大家逐个解释的。接下来我们先提前学习一个代码 不会的同学可以直接复制。(因为今天是情人节我就提前出了)

2024-08-10 23:18:52 334

原创 落花时节又逢君(再见c语言)(第二章)

它的第⼀个参数是⼀个格式字符串,⾥⾯会放置占位符(与译器如何解读⽤⼾的输⼊,需要提取的数据是什么类型。其实每⼀种数据类型有⾃⼰的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类型,我们就可以在适当的场景下去选择适合的类型。如果只想输出开头的部分,可以⽤%.[m]s 指定输出的长度,其中[m] 代表⼀个数字,表⽰所要输出的⻓度。每⼀种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,变量⻓度的不同,存储的数据范围就有所差异。在C99中也引⼊了布尔类型,是专⻔表⽰真假的。

2024-08-10 20:44:46 790 1

原创 与君初相识,犹如故人归(相遇c语言)(第一章)

接下来 让我们一起走进编程的入门一.中文是我们与人交流的方式(各种语言都是用来满足我们之间的交流),那么人与计算机的交流方式是什么呢?不错!正是**计算机语言** 而C语言就是其中的一种⽬前已知已经有上千种计算机语⾔,⼈们是通过计算机语⾔写的程序,给计算机下达指令,让计算机进行工作的初次之外 ***c++,java,python***等~~~都是计算机语言1.1接下来我们来打开c语言的的世界吧来看这个代码int main()return 0;二关于main函数。

2024-08-07 12:33:58 1005 1

原创 第十章(操作符)

也给我们提供了对应的数组。但是这些类型往往都是单一的,如果我们想描述一本书,一个学生,只有这些单一的类型是不够的。操作符的优先级不同决定了数值的不同,我们肯定知道的是 / * 的优先级是大于 + -的。这里我们发现,在不同的编译器上的结果是不同的,说明编译器遇见这种复杂的代码也出现了问题。8进制的数字的每一位都是0~7,0到7的数字各自写成2进制,最多3个二进制数就够了。结构体也是有指针的,那么如果我们拿到的是结构体的指针是如何使用的呢?这里我们主要了解的是操作符,在以后的学习中我们更详细的了解一下。

2024-09-12 17:53:13 794

原创 曾是惊鸿照影来 (第六章函数)

那么函数也一样的,我们创建一个函数通过形式参数接收数据(原材料),然后通过函数体实现(加工),得到返回数据(产品)。我们在调用函数的时候已经创建了a,b变量(已经有地址了),我们在调用的时候传递了a,b称为实际参数,简称实参。一般情况下我们会把函数的声明,类型的声明放在头文件中(.h)函数的实现是放在源文件(.c)文件中。在我们使用函数的时候难免会遇见数组做函数的参数,那么当数组做函数的时候我们如何传参的呢?这里我们发现,x和y确实接收了a,b的值,但是它们的地址是不一样的,所以我们可以理解为。

2024-09-10 17:40:01 625

空空如也

空空如也

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

TA关注的人

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