自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件的操作

每个被使用文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。可以使pf指向的某个文件的文件信息区(是一个结构体变量)。在编写程序的时候,在打开文件的同时,都会返回一个 FILE* 的指针变量指向该文件,也相当于建立了指针和文件的关系。硬盘上的文件是文件,但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件的功能的角度来分类的)文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。

2025-10-27 17:43:04 675

原创 动态内存管理

有时候我们发现过去申请的空间太小了,有时候我们又会觉得申请的空间过大了,那为了合理的申请内存,我们一定会对内存的大小做灵活的调整,那realloc函数就可以做到对动态开辟内存大小的调整。但是对于空间的需求,不仅仅是上述的情况,有时候我们需要的空间大小在程序运行的时候才知道,那数组的编译时开辟空间的方式就不能满足了,这时候就只能试试动态内存开辟了。包含柔性数组成员的结构用malloc()函数进行内存的动态分配,并且分配的内存大小,应该大于该结构的大小,以适应柔性数组的预期大小。

2025-10-19 13:57:47 869 2

原创 自定义类型:结构体,枚举,联合

4、如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。总体来说:结构体内存对齐是拿空间来换取时间的做法,所以在设计的时候,即既要满足对齐,又要节省空间,就要让占用空间小的成员尽量集中在一起。联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少要有能力保存最大的那个成员)而对齐的内存访问仅需要一次访问。当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。

2025-10-11 16:44:50 847

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

1.strlen(计算长度)字符串以'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0')参数指向的字符串必须要以'\0'结束注意函数的返回值为size_t,是无符号的2.strcpy(拷贝)源字符串必须以'\0'结束会将源字符串中的'\0'拷贝到目标空间目标空间必须足够大,以确保能存放源字符串目标空间必须可变3.strcat(字符串追加)源字符串必须以'\0'结束目标空间必须足够大,能容纳源字符串内容目标空间必须可修改。

2025-10-07 21:08:15 1030 2

原创 指针的进阶

声明的 signal 函数的第一个参数的类型是 int,第二个参数的类型是函数指针,该函数指针指向的函数参数是 int,返回类型是 void,signal 函数的返回类型也是一个函数指针,该函数指针指向的函数参数是 int,返回类型是 void。parr1先和[]结合,是数组,数组内容是 int(*)()类型的函数指针。例2:void(*signal(int,void(*)(int)))(int);以上代码是一次函数调用,调用的是0作为地址处的函数。例1:(*(void(*)())0)();

2025-09-27 22:51:10 177

原创 数据在内存中的存储

这意味着,如果E为8位,它的取值范围为0~255,如果E为11位,它的取值为0~2047,但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上一个中间数,对于8位的E,这个中间数是127;因为a被赋值为-1,-1是32位的,而内存中存的是补码,把原转补后仍为32位,char a仍放不下,故截断,最后存到a中的是8个1,而%d 打印的是有符号的整型,故整型提升,提升补码,因高位为1,全补1,再取反+1到原码,最后打印原码。转换为原码是1000 0001)

2025-09-18 12:12:07 470 2

原创 指针和实用调试技巧

所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖,也就没有迹象了,如果问心有愧,就必然需要掩盖,那就一定有迹象,迹象越多就越容易顺藤而上,这就是推理的途径。标准规定:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。对于32位机器,假设有32根地址线,那么假设每根地址在寻址的时候产生高电平(高电压)和低电平(低电压),对应1和0。概念:野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)

2025-09-16 22:54:39 344 3

原创 操作符和表达式求值

表达式的整型运算要在CPU的相应运算器件内执行,CPU的整型运算器(ALU)的操作数的字节长度一般就是int的字节长度,同时也是CPU的通用寄存器的长度。如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则操作就无法进行。因此,即使两个char类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度。总结:我们写的表达式如果不能通过操作符的属性确定唯一的计算路径,那这个表达式就是有问题的。取决于他们的优先级,如果两者优先级相同,取决于结合性。

2025-09-15 18:03:58 911 1

原创 C语言数组

1.sizeof(数组名),计算整个数组的大小,sizeof内部单独放一个数组名,表示整个数组。数组在创建的时候如果想不指定数组的确定的大小就得初始化,数组的元素个数根据初始化的内容来确定。求二维数组列数 sizeof(arr[0]) / sizeof(arr[0][0])所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。数组的下标规定是从0开始的,有n个元素,最后一个元素下标就是n-1。数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值。

2025-09-14 11:30:34 168

原创 C语言函数

如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。在计算机科学中,子程序,是一个大型程序中的某部分代码,由一个或多个语句块组成,它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,6.2函数定义:函数的定义是指函数的具体实现,交代函数的功能实现。

2025-09-13 20:54:32 229

原创 C语言基础知识

6.1 内存:内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。本质上,static 修饰局部变量的时候,改变了变量的存储位置的,影响了变量的生命周期,生命周期变长,和程序的生命周期一样。全局变量是具有外部链接属性的,static 修饰全局变量的时候,这个全局变量的外部链接属性就变成了内部链接属性,其他源文件就不能再使用到这个全局变量了。函数是具有外部链接属性,一个函数本来是具有外部链接属性的,但是被 static 修饰的时候,外部链接属性就变成了内部链接属性,其他源文件就无法使用了。

2025-09-12 21:32:56 397

原创 C语言实现扫雷游戏

开始用三个文件,game.h,game.c,test.c,分别存放函数声明,函数定义,主函数。定义两个数组,mine用来存放雷的位置信息(不能被看到,所以不打印),show是排查雷的信息,然后初始化两个棋盘(放在game.c中)printf("该坐标被排查过了,请重新输入\n");printf("很遗憾,你被炸死了\n");printf("输入的坐标非法,请重新输入\n");printf("*******扫雷游戏*******\n");printf("输入错误,请重新输入\n");//如果是雷,数量加1。

2025-06-13 18:56:29 932

原创 分支语句和循环语句

不要在 for 循环体内修改循环变量,防止 for 循环失去控制。表达式 2 为条件判断部分,用于判断循环何时终止。表达式 1 为初始化部分,用于初始化循环变量。表达式 3 为调整部分,用于循环条件的调整。:for (表达式 1;

2025-05-30 11:05:51 272

原创 我的第一篇博客

我是上了大学之后开始接触编程的,一开始就对它很感兴趣,通过我对编程语言和操作系统的不断学习,我已经深深的迷上了它。后来我了解到了Linus的事迹后,我非常仰慕他,励志向他学习,所以我希望有一天能够自己创造出一个操作系统,想在这条路上遇到志同道合的人。

2025-05-25 15:31:15 130 1

空空如也

空空如也

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

TA关注的人

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