自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解指针5

由于p是一个指向包含4个int类型的元素的一维数组指针,所以p[4]会让指针p向后移动4个包含4个int元素的一维数组的距离,可以把p[4]理解成*(p+4),a[4]=*(a+4),a[4]会让指针a向后移动4个包含5个int元素的一维数组的距离。p本身是一个char*类型的指针变量,是变量就要向内存申请空间,所以p也有自己的地址,&p取出来的是一个一级指针变量的地址,他是一个二级指针,他的类型是char**;1.cp是数组名,那不是数组首元素的地址吗,那cpp+1后,cp指向的地址会不会发生改变吗?

2025-03-31 16:18:13 513 3

原创 深入理解指针3

那既然声明的函数返回值类型为void (*)(int),那能不能写成这样:void (*)(int) signal(int, void(*)(int)),但是遗憾的是这样写,编译器不支持,但是表达的意思大概都是相同的。但是这样的话,代码就写死了,因为我们要计算不同的功能,计算加法的时候 ,cal这个函数能够计算加法,计算减法的时候,cal这个函数能够计算减法。一个存放的是数组的地址,一个存放的可能是字符的地址,也有可能是整型的地址,也有可能是数组的地址,类型不限。

2025-03-22 17:38:18 1126 1

原创 深入理解指针2

址。

2025-02-25 13:28:19 435 5

原创 深入理解指针1

总结:2.内存究竟是如何编址的呢?二.指针变量和地址1. 取地址操作符&2.指针变量3.如何创建指针变量4.解引用操作符*(间接访问操作符)5.指针变量大小6.指针变量类型的意义1.指针变量的类型决定了指针解引用时的权限2.指针变量类型决定了指针的步长7.指针加减整数8.指针变量类型的使用四.const修饰指针1.const修饰变量2.const修饰指针变量五.指针运算1.指针加减整数

2025-02-19 19:22:06 1137 3

原创 【C语言实现扫雷游戏详解】

3.这样两个棋盘我们就准备好了,第一个数组我们称为mine数组,第二个数组我们称为show数组,我们把这两个数组都统一成字符类型,在游戏还没有开始的时候,mine数组全部初始成字符0,show数组全部初始化成字符 *,这一步我们称之为棋盘的初始化。首先我们是需要用数组来存放我们埋雷,排雷的信息,一开始我们只有1个棋盘,即1个数组,但是后来发现1个数组可能不够,于是我们准备了两个数组,然后再将两个数组全部初始化,shine数组全部初始化成字符0,那同理数字转成字符不不就是数字+字符0,就得到字符了。

2025-01-22 21:17:16 888 1

原创 C语言基础概念

printf函数用双引号原样输出用占位符的方式用ascii码的方式用转义字符的方式//下面的打印结果都是A。

2024-12-22 21:24:32 1169 1

原创 c语言操作符

首先所谓的整型指的是整数类型的数据,比如char类型和short类型,在c语言中,整型算术运算总是以Int型的精度计算的,为了确保精度不会损失,字符型以及短整型的操作数会被转换为普通整型,这就是整型提升。

2024-08-29 23:43:07 1379

原创 c语言小练习

补充知识:如果一个数是2的n次方,那么它的二进制数中一定只有1个1,按照这个规律,我们还是可以用n&(n-1)这个表达式来解决,因为n&(n-1)表达式每执行完一次,就一定会去掉1个1,我们在这个练习中,不用统计有多少个1,只需要判断n&(n-1)==0,如果执行完这个表达式结果为20,就证明只有一个1,如果不是就代表他不是2的n次方。1.一个数模2就能得到二进制数中的最低位,比如15的二进制是1111,15%2=1;方法二:利用按位与&操作符和右移>>操作符。

2024-08-29 00:11:35 260

原创 交换变量的三种不同方法

异或是支持交换律的,a^b^c=a^c^b;第三种:(用异或^的方法解决)

2024-08-26 23:45:29 248

原创 进制介绍及进制转换

二进制用B表示,满二进一,每一位上的数字都是0-1,

2024-06-27 15:24:55 1106

原创 函数递归笔记下

斐波那契数列就是前两个数相加的和刚好等于这两个数后面的一个数。

2024-06-25 19:20:55 885

原创 函数递归笔记上

首先所谓的函数递归,一定是基于函数的,只有在函数中才会有递归这个问题;其次函数递归就是函数自己调用自己。下面举一个最简单的递归例子:注意!!!下面的代码虽然使用了函数递归,但是只是演示函数自己调用自己的形式,并不是为了解决问题,下面的代码会陷入死递归,导致栈溢出,如果调试,你就会发现,它会报一个错误,会看到stack overfolw这一串英文,它的意思是栈溢出;printf("%哈哈\n");post();return 0;int main()

2024-06-25 00:04:35 754

原创 数组练习题目

举个例子,我们平常买东西,比如买了一双鞋,如果我告诉你不高于500元,然后让你猜价格,你肯定不会从1元,2元开始猜,这得猜到什么时候去,我们一般都会从它一个比较中间的值猜,比如250,这就是二分查找,所谓的二分查找就是折半查找,关键点是找出它的中间值,然后拿这个中间值去和要查找的数进行比较,如果大了就往小猜,小了就再往大了猜。下面有一个题目:让用户输入一个想查找的数,然后在创建好的数组里查找有没有这个数,如果有,则输出它的下标,如果没有,则输出没找到。二分查找只针对有序且是升序的数组,不针对乱序的。

2024-05-10 09:20:38 226

原创 c语言数组笔记

所谓的变长数组指的是数组的大小是可以使用变量的,在c99之前,数组的大小是用常量或常量表达式的,在c99之后,数组的 大小是可以使用变量的,但是在vs中,暂且不支持数组使用变量,在vscode中可以。举个例子,比如1个int类型的数据是占4个字节,当我们知道数组元素共占多少内存空间时,用总空间大小除以这个数组所存放的数据类型大小,就可以得到这个数组一共有多少个元素。数组也是有类型的,它属于自定义类型,它的类型主要取决于数组的大小,去掉数组名就是数组的类型。(数组的大小是多少,数组里就存放多少个元素)

2024-05-06 13:28:29 945

原创 c语言函数笔记上

/自定义函数的定义语法格式:函数返回值类型 函数名(参数类型1 形参1,参数类型2,形参2)函数体;写一个加法函数,完成两个整型变量的加法return a+b;//写成return(a+b);也行int main()//输入部分int a=0;int b=0;//调用函数部分//输出部分return 0;pow函数示例pow函数是用来计算底数的指数幂的它的用法为double pow(double base,double exponet)

2024-04-27 14:48:20 1058

原创 循环结构笔记

3.这个程序的执行流程是,先判断你输入的数受否不为0,不为0,则进入循环,进入循环后第一步就是进行取余,把取余的数赋值给a,第二步就是打印这个a,第三步就是去掉最低位,把去掉最低位的数重新赋值给num,然后再返回表达式,进行判断。2.一次从高到低循环输出这个数,我么就想到要用循环结构,首先我们得定义一个变量num用来存储输入的整数,定义一个变量a用来存储每次拿到的最低位的数,程序结束的条件是num==0,因此我们只要num不等于0,那么他就会一直循环,for循环的书写更简洁,而while循环的书写更分离。

2024-04-20 14:58:18 678

原创 输入多组数据的方法:

我们可以利用while循环结构加scanf语句来做,一直循环输入数据,把scanf语句放到while循环的表达式里,scanf的返回值为输入数据的个数,输入几个数就返回几,当输入错误时,返回EOF,它的值是-1。

2024-04-20 11:43:36 361

原创 输出100-200间的素数三种方法

第二种方法跟上一个方法比,优化了,有一个知识点是在所有的质数中,除了2是偶数,没有偶数是质数,也就是说都是奇数,那么我们就可以从101开始判断,然后每次加2,这就减小了计算量。比如4*4=16,2*8=16,那么2<=根号16,也就是说所有的因子也就是能够被整除的数一定都小于等于这个被除数开平方后的值;那么我们就不用拿2到i-1的数去试除了,

2024-04-20 11:03:44 462

原创 分支结构笔记上

(有几个条件就有几个if,else总是和离他最近的那个if匹配,遵循就近原则)注意事项:关系操作符不易连用,不要写成a<b<c,应该写成a<b && b<c。

2024-04-17 21:52:16 193 1

原创 c语言数据类型与变量笔记二

在定义变量的时候顺便给一个值,这叫做初始化,在进行初始化后,如果想更改变量的值,这时就需要我们重新给变量赋值了,赋予一个新的值给它。scanf函数是用来读取用户在键盘上输入的值,在用它时,一定要说明数据类型,他的基本格式和占位符,头文件都和printf函数差不多;%4d表示这个占位符的宽度至少为四位,最少是四位,不够的前面用空格补,默认是右对齐,如果希望是左对齐,就在%后面加一个。6.使用%s与数组时,最好限制一个最大长度,否则用户在输入数据时,一不小心没把握好,导致数据溢出了,

2023-07-27 16:55:25 99 2

原创 C语言数据类型与变量笔记1

菜鸟的笔记,请多多见谅

2023-07-22 01:02:27 93

空空如也

空空如也

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

TA关注的人

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