自定义博客皮肤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语言】文件操作+编译和链接

文件是存放在硬盘上的数据,存放在外存中,需要使用时调入内存进行使用。我们分为数据文件和程序文件两类。

2024-02-19 11:24:26 916

原创 【C语言】自定义类型:联合和枚举

今天我来分享一下我学习到的关于联合和枚举的知识:1. 联合体类型的声明2. 联合体的特点3. 联合体⼤⼩的计算4. 枚举类型的声明5. 枚举类型的优点6. 枚举类型的使⽤。

2023-10-05 23:26:15 51 1

原创 【C语言】自定义类型:结构体

4.如果嵌套了结构体,那么里面这个结构体的位置的可能对齐数是里面这个小结构体里面的成员最大对齐数的整数倍,同时考虑编译器的默认对齐数(VS默认为8,linux的对齐数是元素的对齐数),再做打算;这个是模拟链表,虽然数据是分散的,但通过这种手段成功的将这些数据连接在一起,挨个访问,但这里我们打个比方:我们不能在自己的车子里在塞进去一辆一模一样大小的车子吧,所以这个是不行的。但是我这里更推荐使用传址调用,因为如果我选择传值调用,参数是要压栈的,会消耗系统大量的内存和时间,这是不提倡的,而使用传址调用则好的多。

2023-10-05 21:19:48 51

原创 【C语言】数据在内存中的存储

这里的S的值是0,M的值是1.011,E的值为2,就像十进制里面101.1=1.011*10^2一样,这里是二进制,就是(-1)^0*1.011*2^2,类比的思想。特例1:如果“E”二进制位全为0,E为-126(1-127得到的,32位下),则代表这个数无限趋近于0(看符号位怎么样取正负),同时M原来的开头1变成0,变得更小了(我们以前在学习二进制的时候,就知道整数在内存中以补码的形式存在,负数要原码取反加1得到补码,而正数或0的原码,反码(符号位不变,其它的取反),补码相同。

2023-10-04 00:01:53 43 1

原创 【C语言】内存函数

这个函数和我们之前的strncmp很像,传参的样式几乎相同,但这个涉及到内存方面,而且是一个一个字节进行比较,理论上是可以任意类型的数据内存进行比较的,字符(串)的比较当然是没有问题的,但事实真的是如此吗?不要用这个函数去处理char类型以外的数组,如int元素组成的数组,它是一个字节一个字节进行改变的,容易出现bug,我们可以在调试过程中打开内存布局,好好观察一下)这个函数的各种参数,返回类型都是void*,说明这个函数应该能用所有的函数类型,这个时候我们要好好的注意1了。

2023-10-03 00:00:44 372

原创 【C语言】字符函数和字符串函数

新的新的。

2023-10-02 13:02:09 27 1

原创 【C语言】理解指针(5)

这个的答案应该是"at",a是数组首元素的地址也就是w的地址的地址,放到二级指针pa中,那么pa++根据指针类型可以推断出最后pa是“at”中“a”的地址的地址,*pa得到“a”的地址,把“a”的地址放到“%s”中,类似于strlen的实现,最后碰到“\0”打印出“at”。“a+1”是“2”的地址,解引用是“2”,“&a+1”是5后面的地址,强制类型转换决定了后面+1-1操作是什么样子的,ptr-1回到了元素“5”,解引用是元素“5”,打印下来是2 5。第二个的答案是ER。第一个的答案是POINT。

2023-09-19 23:58:49 71

原创 【C语言】指针部分提及

就像“函数里面调用函数”一样,也和直接引用函数指针数组差不多,都可以减少内存的使用。补充:void*是通用指针类型,实际使用时尽量使用强制类型转换,以免影响使用。使用qsort函数时要包含<search.h>或<stdlib.h>的头文件。在我看来,只要不是“直接”调用这个函数的,且利用了指针的,都算“回调函数”。具体的qsort怎么使用大家可以自行在Cplusplus.com查看。笔者水平有限,暂无法解决传递结构体数据的问题,请多多包容。我们先记一下qsort函数的模版,以后用处多多。

2023-09-09 13:02:25 28 1

原创 【C语言】指针部分提及

我们以前输入字符使用的大多是char类型,而字符指针用的多是char*类型,例如:char*p="abcdef"中,我们把第一个元素“a”的地址放入了字符指针p中,“*”代表这个p是指针(变量),p指向的内容是char类型。这是因为如果我们创建的只是两个字符数组,那么它在内存里面会申请两份空间,而换成字符指针的形式储存,一模一样的字符串,是没有必要储存两份的,因为地址指向的内容是一样的。当我们想调用函数的时候,在上面的代码下,加上(*p)(参1,参2)或p(参1,参2)等就完成了对函数的调用。

2023-09-06 17:43:24 33 1

原创 【C语言】理解指针(2)

存放一级指针的指针,叫做二级指针;存放指针的数组叫做指针数组,我们可以换一个角度类比,即存放整型的数组叫做整型数组,如int arr[10]={1,2,3,4,5,6,7,8,9,10},这里面存放的是整型。sizeof(arr)为整个数组中元素所占字节的个数,&arr实际上是取出整个数组的地址,和arr还是不一样的。这样再次说明了数组名是数组首元素的地址,且*(arr+i)==arr[i]==*(&arr[0]+i)。这说明在这种情况下(一维)数组名其实是数组元素的首元素的地址,这两者本质是一样的。

2023-08-17 11:08:07 35 2

原创 【C语言】理解指针(1)

当然指针的相减也是有一定规则的,一定要是在内存中连续存放的元素才好地址相减,比如一个字符串中“hellobit”中的8个单词就是在内存中连续存放的,通过如上的例子加一个循环就可以很方便的打印每个单词了,但如果它们不是连续存放的话就相减一下不知道是什么鬼了。我们可以补充一个地址总线,以VS2022为例,我们使用X86环境时机器是32位,32位有机器有32根地址总线,每根线“1”代表有电磁脉冲,“有”,“0”代表没有电磁脉冲,“无”,这样可以组成2^32种含义,每种含义代表一个地址。

2023-08-16 19:09:04 22 1

原创 【C语言】操作符部分讲解

• 圆括号( () ) • ⾃增运算符( ++ ),⾃减运算符( -- ) • ⼀元运算符( + 和 - ) • 乘法( * ),除法( / ) • 加法( + ),减法( - ) • 关系运算符( < 、 > 等) • 赋值运算符( = )printf("******** 输入1:play *********\n");printf("******** 输入0:exit *********\n");//实用下标引用操作符。

2023-08-08 18:04:41 23

原创 C语言扫雷游戏及代码实现

以扫雷游戏为例,我们要先用代码设计一个整体的游戏框架(先要包含play和exit的界面,根据输入的数字执行开始游戏或退出游戏或重新输入),然后初始化“雷”表和“展示”表,再“埋”雷,最后排查雷,按这样的思路就可以制作扫雷游戏了。我们挑初级9*9的来讲,这个实际上我们要2个11*11的数组,因为在我们平常玩扫雷的时候,不可避免的要点到“靠墙的”或“墙角的”格子,这种情况下我们在后期统计周围雷的数量时会“越界”,所以我们应该多留一层。分装到game函数(放在game.h中)中,把数组,行列,字符传参过去。

2023-08-01 21:37:26 1087 1

原创 C语言分支和循环

相比一般的while循环,do while循环先进入循环体,再判断表达式,如果表达式为真,则执行下一次循环,否则不循环。如图:while语句先判断表达式,若值为0,则直接跳出循环,结束;流程:表达式1-表达式2-循环语句-表达式3-表达式2-循环语句-表达式3(表达式2 循环语句 表达式3循环)当输入的结果不满足任何一条case语句时,会走default语句,例如上图,输出第三行的statement.表达式3(循环变量的调整))相比之下,for循环的三个部分很集中,便于管理及维护,适用于代码较多的情况。

2023-07-26 19:45:28 19 1

原创 关于我和编程

对我来说编程也许比较难,但为了从小就喜欢却又难的数学,相信这点学编程的难也算不了。就学编程而言,我初步想在两年内把C语言、C++、JAVA、测试方面学会学透,锻炼我的逻辑思维、模式识别等,让这两个学科相辅相成,最大化进步,相信在大学可以弥补以前数学不好的遗憾。学习编程嘛,我想尽量在大学的空闲时间来多在B站上看相关视频,紧跟视频中老师的步伐,静下心来学习编程。抱着学习编程的兴趣,我认识了一位老师,在他的专栏里,他讲电脑知识的视频深深打动了我,在我的心里埋下了一颗学编程的种子。

2023-07-20 20:45:58 67

空空如也

空空如也

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

TA关注的人

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