自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人生Java第一个项目

【代码】人生Java第一个项目。

2025-03-24 21:03:36 80

原创 如何让a和b的地址互换?

m和n本质上还是一个变量,而&a和&b是一个常量,你不能写成&a=&b,这就相当于写10=20,肯定不行,m只是记录了a的地址,但m不是&a本身。的地址并不是一个常见的操作,因为变量的地址是由编译器分配的,通常不能直接更改。然而,你可以通过指针来间接实现类似的效果。如果你需要更复杂的内存管理或地址交换操作,可能需要深入理解动态内存分配(如使用。的值,从而实现了指针所指向对象的“交换”。现在分别指向了对方原本指向的变量。在这个例子中,我们定义了两个指针。在C语言中,直接交换两个变量。

2025-01-19 20:02:55 208

原创 c语言之字符指针疑难解答(10.19)

用%s打印东西时,只要给printf要打印的字符串的地址就行20分钟左右,还得再听一遍,难cpp[-1]可以转化为*(cpp-1)cpp[-1][-1]可以转化为*(*(cpp-1)-1)这里有一个要点:cpp是一个指针,当它对它进行自增自减操作时,它不会自动复原,不像你自己定义了一个数组之后,当然数组名是没法改变它的地址的(下图代码会报错)在上面这串代码中,parr[0]存的并不是变量a的地址,要写成这样才行 int* parr[] = { &a,&b,&c };

2024-10-19 18:43:22 1061

原创 学习笔记之指针进阶(10.11)

在 C 语言中,当你对一个指针进行加法操作时,编译器会根据指针所指向的数据类型来决定实际移动的字节数。如果你有一个指向某个类型的指针。,结果都是相同的:指针都会移动到下一个相同类型元素的位置。在这两种情况下,数值 1 都是作为元素的数量,而不是字节数来使用的。以上解释是错误的,a[0]不是整个数组的名字,a+1才是第二个一维数组的地址。指向的是一个结构体,那么它们会使指针向后移动该结构体的大小(即。实际上是没有区别的。这里的关键在于理解指针算术。向后移动一个元素的大小。的意思是将指针向后移动。

2024-10-11 17:56:43 450

原创 char类型的-128到底是个神马东西?

char类型的-128的补码是什么样的?在计算机中,负数通常使用补码形式来表示。对于一个有符号的char类型,其大小为 8 位(1 字节),可以表示从 -128 到 127 的整数。-128 是有符号 8 位整数能够表示的最小值。它的二进制补码表示是特殊的,因为它是唯一一个没有正数对应项的负数。在 8 位系统中,-128 的补码直接就是1000 0000。这里是如何得到这个结果的简要解释:首先,考虑正数 128 的二进制表示,它会是1000 0000。

2024-10-11 17:03:14 878

原创 date:10.4(Content:Mr.Peng)( C language practice)

局部变量是存放在栈上的,栈又是从高到底存放所以先存i后存arr[]

2024-10-04 21:54:07 331

原创 有符号整型和无符号整型比较大小,整型提升{9.28下午}

有符号整型和无符号整型比较大小时,会先把有符号整型先转变成无符号整型-1的补码是32个1,当成无符号整型来处理时,补码就是源码,所以是一个超级大的数在C语言中,当有符号整型(如int)和无符号整型(如)进行比较时,并不会直接将有符号整型转换为无符号整型来进行比较。然而,实际的行为可能会让人误解为发生了这样的转换,因为比较操作是按照“值的二进制表示”来进行的,而不是按照它们的数学意义。在比较时,有符号整型会被“隐式地”转换为一个更大的类型(在这个情况下,通常是),但这个转换并不是简单的数值转换。

2024-10-04 21:53:00 1200

原创 有问题未解决(9.28)

数组名+1,就是下一个元素的地址,int类型的数组名+1移动四个字节,char类型的数组名+1移动1个字节,数组的类型决定了数组名+1移动的距离。[5]之所以不能省略是因为arr的类型是int[5],它的步长是5,和指针类似,一般情况下,指针的类型要和传过去的地址的类型一样。数组名是首元素的地址,arr2的首元素类型是一级指针,一级指针的地址要放到二级指针里面,实际上,arr2就是一个二级指针。arr是一个int类型的数组,他存的就是一个数,而不是变量,a的地址和arr的地址并不一样。

2024-09-28 17:30:15 496

原创 三步逆序法

【代码】三步逆序法。

2024-09-21 18:20:14 407

原创 最小公倍数的求法

【代码】最小公倍数的求法。

2024-09-21 18:19:03 301

原创 所有的表达式都有结果吗?

在C语言中,大多数表达式都有结果或返回值,但这些结果或返回值的用途和类型可能因表达式的类型而异。然而,并不是所有的语法结构都是表达式,也不是所有的表达式都被设计为产生可用于其他表达式的直接结果。*dest++=*src++,表达式的结果就是字符,而字符又通过ascll码表转化为对应的数字,'\0'对应的值是0,所以循环结束。a=b+3,这个表达式的结果就是8,8再赋值给c.int main()int a = 10;int b = 30;p = &b;//*p = 20;//

2024-09-20 16:13:42 997

原创 扫雷游戏8.31

【代码】扫雷游戏8.31。

2024-08-31 11:15:31 526

原创 c语言 三子棋

【代码】c语言 三子棋。

2024-08-27 13:07:31 462

原创 探索C语言中数组作为函数参数的奥秘

在C语言的世界里,数组是一种基础且强大的数据结构,它允许我们存储相同类型的数据集合。然而,在处理函数和数组的关系时,尤其是在数组作为函数参数传递时,初学者往往会感到困惑。今天,我们就来深入探讨这一话题,通过具体的代码示例来揭开其神秘面纱。

2024-08-27 10:56:50 457

原创 c语言每日学习8.24

因此,当你传递一个字符串(即字符数组的指针)给函数时,函数可以通过遍历字符串直到遇到空字符来确定字符串的长度。void reverse_string(char* str) 为什么不用传递数组的长度?函数会遍历字符串直到遇到空字符,并返回遍历过的字符数量(不包括空字符)。函数也能通过遍历字符串来确定其长度,并进行反转操作。函数不需要显式传递数组长度的原因。函数可以计算字符串的长度,这是因为。在C语言中,字符串通常是以空字符。所以,即使不传递数组的长度,

2024-08-25 09:37:43 1057

原创 c语言(8.19)

请不要随便运行最后一个代码,否则这世界上将多一个悲伤的人。昨天练习的几个小 代码。

2024-08-19 10:35:45 396

原创 c语言(8.18)

补一下前几天练习的代码。

2024-08-18 09:58:05 277

原创 c语言(8.11)

指针好难啊/(ㄒoㄒ)/~~

2024-08-11 19:40:41 267

原创 c语言指针(8.11)

虽然在技术上是合法的,并且可能符合你的预期(得到指向下一个元素的指针),但它实际上是在对已经退化为指针的。不是一个指针,而是一个数组(尽管在表达式中它会被退化为指向其首元素的指针)。进行赋值或将其作为函数参数传递(因为它不是一个左值),但你可以通过索引来访问它的元素(如。表示一个数组(尽管在表达式中它通常会被退化为指向其首元素的指针)时,直接对。存储了一个地址,这个地址是二维数组第一行的首元素的地址。的第一行(或称为第一个一维数组)的首元素的地址。是按照指针的步长(即指向类型的大小)来计算的,对于。

2024-08-11 12:05:23 536

原创 c语言(8.10)

同理,在二维指针数组中,指针指向的是第一个数组的地址,&arr,而不是第一个数组的第一个元素的地址,其实第一个数组的地址和第一个数组的第一个元素的地址是一样的,只不过。在 C 语言中,一旦数组名被用作指针(例如在表达式中),它就失去了其原始数组类型的信息,只保留了指向其首元素的指针类型的信息。为了获取数组的长度,你通常需要以某种方式显式地传递或存储这个信息,就像我之前提到的那样,使用一个额外的数组来存储每个数组的长度。在指针数组中(一维数组),指针指向的是数组中第一个元素的地址,

2024-08-10 23:59:16 903

原创 c语言(8.9)

Void类型的指针,不表示任何类型,所以没有步长。今天复习了Void类型的指针和多级指针。

2024-08-09 18:34:41 543

原创 c语言(8.6)

今天练习了几个小代码。

2024-08-06 12:23:13 297

原创 随机数的取法+今天练习的代码

【代码】随机数的取法+今天练习的代码。

2024-08-05 11:03:50 390

原创 arr的谜思

第一个打印的是数组首元素的地址,第二个打印的是整个数组的地址(尽管在内存布局上,这两个地址是相同的)。然而,在大多数表达式中,数组名会被转换为指向数组首元素的指针。但是,如果你想要强调的是你正在获取整个数组的地址(尽管这在大多数实际用途中并不常见),你可以使用。时,你实际上看到的是整个数组在内存中的起始位置,这与数组首元素的地址在数值上是相同的,但它们的类型意义不同。函数时,你可以打印出任何指针类型的值,包括指向数组的指针。时,你得到的是指向整个数组的指针,而不是指向数组首元素的指针。

2024-08-04 18:11:48 634

原创 c语言(8.2)

今天练习了n项求和,统计素数求和,99乘法表。

2024-08-02 18:55:46 605

原创 c语言(8.1)

今天学习了水仙花数和组成多位数。

2024-08-01 18:12:11 319

原创 c语言(7.28)

学到黑马的指针那感觉学不太懂了,于是我又重新开始听翁恺的课程,开始查漏补缺,今天做了几个简单的小练习。

2024-07-28 17:03:32 468

原创 c语言(7.27)

今天学习了利用索引遍历第二种格式的二维数组。

2024-07-27 17:17:45 372

原创 c语言(7.26)

利用索引遍历第一种格式的二维数组。利用索引遍历第一种格式的二维数组。

2024-07-26 17:20:29 386

原创 c语言(7.26)

【代码】c语言(7.26)

2024-07-26 15:59:21 366

原创 c语言(7.25)

今天学习了指针的运算,野指针和悬空指针,void类型的指针。

2024-07-25 12:29:37 614

原创 c语言(7.24)

今天学习了指针的第3个作用。

2024-07-24 19:01:48 259

原创 c语言(7.24)

今天学习了指针的两个作用。

2024-07-24 18:24:27 333

原创 c语言(7.23)

【代码】c语言(7.23)

2024-07-23 12:29:02 865 6

原创 c语言(7.22)

在7,23,79,81,103,127,131,147中查找数据*/核心思路:就是从数组的0索引开始,依次往后查找,如果找到了,就会返回数据对应的索引。如果没有找到,就会返回-1。//不是用mid和num进行比较。//2.定义变量表示要查找的数据。//2,定义一个要查的数据。/*需求:数组的二分查找。//mid应该放在循环里面。/* 需求:数组的基本查找。

2024-07-22 11:47:13 560

原创 c语言(7.21)

/原版:scanf_s("%d %d %d %d %d", &arr[0], &arr[1], &arr[2], &arr[3], &arr[4]);//定义一个数组,存入1,2,3,4,5,然后打乱数组中所有数据的顺序(本质上是随机交换两个变量)//注意:这个过程不是双向的,arr[0]=arr[4],此时arr[4]还是arr[4]//因为这样arr[len - 1 - i]的值并没有变,变的是temp的值。//随机数的范围正好是数组索引的范围。//交换:你给我,我给你。今天学习了反转数组,

2024-07-21 19:07:52 826

原创 c语言(7.21)

int contains(int arr[], int len, int num)//有重复,则输出1。//统计有多少个数比平均数小。

2024-07-21 17:31:17 598

原创 c语言之数组(7.20)

今天学习了数组中元素的访问数组的遍历数组中元素的访问int main()return 0;数组的遍历int main()i < 5;i++)return 0;

2024-07-20 18:16:54 377

原创 猜数小游戏

printf("猜对了\n");printf("猜大了\n");printf("猜小了\n");printf("请输入猜的数字:");//范围为1-100。

2024-07-19 11:18:14 612

原创 c语言之随机数(7.19)

随机数的两个小弊端修正。

2024-07-19 11:16:16 259

空空如也

空空如也

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

TA关注的人

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