自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编译和链接

一个C语言的项目可能会有多个 .c 的文件,这些文件经过编译器的编译形成各个 .obj 文件(Linux环境下⽬标⽂件的后缀是 .o),然后这些⽂件和链接库⼀起经过链接器处理⽣成最终的可执⾏程序。接器根据引⽤的符号 Add 在其他模块中查找 Add 函数的地址,然后将 test.c 中所有引⽤到 Add 的指令重新修正,让他们的⽬标地址为真正的 Add 函数的地址,• 处理#include预编译指令,将包含的头⽂件的内容插⼊到该预编译指令的位置。链接解决的是⼀个项⽬中多⽂件、多模块之间互相调⽤的问题。

2024-06-10 16:54:03 435

原创 C语言文件操作

1. 什么是⽂件?在程序设计中,我们⼀般谈的⽂件有两种:程序⽂件、数据⽂件1.1程序⽂件程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows环境后缀为.exe)。1.2数据⽂件⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或者输出内容的⽂件。其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使⽤,这⾥处理的就是磁盘上⽂件。1.3⽂件名。

2024-06-08 14:23:27 574

原创 深入理解指针(3)

我们回想一下二维数组,⼆维数组其实可以看做是每个元素是⼀维数组的一维数组,那么这个数组的⾸元素也就是第⼀⾏,是个⼀维数组。我们先看p1,p1先与 后面的[10]结合,p1[10],表示一个数组,而它的类型就是前面的int*,类型为指针,也就是说,经过前面的学习,我们可以很快的得出结论,函数指针是一个指向函数地址的指针,但函数有指针吗?就意味着⼆维数组传参本质上也是传递了地址,传递的是第⼀⾏这个⼀维数组的地址,那么形参也是可以写成指针形式的。parr1先和[]结合,说明parr1是数组,数组的内容是什么呢?

2024-06-03 19:34:55 746

原创 (结构体)

此时共用了九个字节,因为构体总⼤⼩为最⼤对⻬数(结构体中每个成员变量都有⼀个对⻬数,所有对⻬数中最⼤的)的 整数倍。在第1个字节8个比特位中,a先占用3个还剩5个,而b只需要4个因此b也可以放入第一个字节中,此时第1字节还剩1个比特位,而c需要5个,不够,因此开辟新的字节,第2字节还剩3个,不够4比特位的d,因此再开辟第3个字节存放d。.如果嵌套了结构体的情况,嵌套的结构体成员对⻬到⾃⼰的成员中最⼤对⻬数的整数倍处,结构 体的整体⼤⼩就是所有最⼤对⻬数(含嵌套结构体中成员的对⻬数)的整数倍。

2024-05-27 18:58:29 493

原创 深入理解指针(2)

parr[i]是访问parr数组的元素,parr[i]找到的数组元素指向了整型⼀维数组,parr[i][j]就是整型⼀维数 组中的元素。上述的代码模拟出⼆维数组的效果,实际上并⾮完全是⼆维数组,因为每⼀⾏并⾮是连续的。这⾥我们发现&arr[0]和&arr[0]+1相差4个字节,arr和arr+1相差4个字节,是因为&arr[0]和arr都是 ⾸元素的地址,+1就是跳过⼀个元素。而*ppa也就是ppa的解引用操作,其结果其实就是pa的地址,那么再2进行一次解引用操作,也就是**ppa,其实就等于a等于10。

2024-05-26 20:48:46 227

原创 深入理解指针(1)

1. 内存和地址我们知道计算机在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中, 这其实是把内存划分为⼀个个的内存单元,每个内存单元的⼤⼩取1个字节。以学生宿舍为例,⼀ 个字节空间⾥⾯能放8个⽐特位,就好⽐同学们住 的⼋⼈间,每个⼈是⼀个⽐特位。而有宿舍就有门牌号,也就是地址,有了地址也就能快速找到对应的内存单元了。而在C语言中这类地址被称为了指针。可以理解为内存单元的编号==地址==指针。CPU就是通过地址才能在内存中找到对应的信息的。2. 指针变量和地址。

2024-05-23 20:03:01 581 1

原创 简易扫雷游戏(第一版)(C语言)

通过if语句判断输入坐标 周围8格有几个雷,若输入的为雷,则打印"很遗憾你猜错了"游戏结束,若不是则判断坐标周围8个坐标有几个雷并将对应arr2展示棋盘上的坐标修改并打印arr2。游戏还有许多地方不足,比如无法修改难度,目前只能进行9x9,10雷的游戏,也无法做到一下子消除一大片,只能一个个消除,需要进行90次才算游戏成功实在繁琐,若是实力进步,有时间我会继续优化改进。以上为我的主程序,在打开游戏的时候我们理所应当会看见游戏菜单,所以我们第一步便是打印游戏菜单,在这里我自定义函数mean。

2024-05-03 20:44:03 351

原创 C语言分支循环语句(for&do-while)

for循环与while循环可以实现互换,即for循环能实现的的while循环也能实现。循环类似,但不同之处在于它会先执行一次循环体,然后再检查条件。循环用于重复执行一段代码,直到满足某个条件为止。循环也是用于重复执行一段代码,但其语法与。是每次循环结束后的更新操作。循环也会至少执行一次循环体。是循环开始前的初始化操作,循环就会一直执行循环体。在第一次检查时为假,

2024-04-13 16:04:06 245

原创 C语言分支循环语句(if&switch)

语句用于根据表达式的值来选择执行多个代码块中的一个。语句用于根据指定的条件来执行相应的代码块。语句结合使用,当条件不满足时执行。若只有一行可以不加{},程序会继续执行下一个。标签后的代码,直到遇到。

2024-04-13 15:53:20 168

原创 新人介绍#

在编程的学习上优先尝试自己写,无果后在阅览他人代码后,凭自己的理解重新进行作业,同时希望自己能每天抽出一小时的时间学习。希望在将来的学习中能锻炼自己的能力,养成良好的习惯,找到心仪的工作。2024年3月29日,20岁的我正式开始学习编程。希望能够加入atuls。

2024-03-29 18:12:10 101 1

空空如也

空空如也

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

TA关注的人

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