- 博客(10)
- 收藏
- 关注
原创 编译和链接
我们在 test.c ⽂件中每⼀次使⽤ Add 函数和 g_val 的时候必须确切的知道 址,但是由于每个⽂件是单独编译的,在编译器编译 Add 和 test.c 的时候并不知道 变量的地址,所以暂时把调⽤ Add 的指令的⽬标地址和 g_val 的地 Add 函数和 链接器根据引⽤的符号 Add 在其他模块中查找 g_val 的地址搁置。这个阶段会报告错误的语法信息。将源代码程序被输⼊扫描器,扫描器的任务就是简单的进⾏词法分析,把代码中的字符分割成⼀系列 的记号(关键字、标识符、字⾯量、特殊字符等)。
2025-06-04 22:01:11
684
原创 文件和文件操作
如果在读取⽂件的过程中,遇到了⽂件末尾,⽂件读取就会结束。如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失 了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化的保存,我们可以使⽤ ⽂件。在编写程序的时候,在打开⽂件的同时,都会返回⼀个FILE*的指针变量指向该⽂件,也相当于建⽴了 指针和⽂件的关系。每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如⽂件的名 字,⽂件状态及⽂件当前的位置等)。磁盘(硬盘)上的⽂件是⽂件。
2025-06-04 13:32:47
1675
原创 结构体和自定
C语⾔已经提供了内置类型,如:char、short、int、long、float、double等,但是只有这些内置类 型还是不够的,假设我想描述学⽣,描述⼀本书,这时单⼀的内置类型是不⾏的。描述⼀个学⽣需要名字、年龄、学号、⾝⾼、体重等;描述⼀本书需要书名、作者、出版社、定价等。C语⾔为了解决这个问题,增加了结构体这种⾃定义的 数据类型,让程序员可以⾃⼰创造适合的类型。结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量,如: 标量、数组、指针,甚⾄是其他结构体在C语言中,
2025-05-29 21:57:52
708
原创 字符分类函数
• 参数不同, • st strncat 多了⼀个参数 rcat 函数在追加的时候要将源字符串的所有内容,包含 \0 都追加过去,但是 数指定了追加的⻓度。⽤来⽐较 str1 和 str2 指向的字符串,从两个字符串的第⼀个字符开始⽐较,如果两个字符 的ASCII码值相等,就⽐较下⼀个字符。返回值:返回了 str 指向的字符串的⻓度,返回的⻓度不会是负数,所以返回类型是size_t。统计的是字符串中 '\0' 之前的字符的个数。功能:字符串追加,把 source 指向的源字符串中的所有字符都追加到 中。
2025-05-21 16:25:26
707
原创 C语言指针
我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的 数据也会放回内存中,那我们买电子的时候,电脑上内存是8GB/16GB/32GB等,那这些内存空间如 何⾼效的管理呢?一座大型广场内部有无数个房间,把你放在里面,如果没有房间基本信息,想找到你需要的房间,你只能一个一个找,这样子的太慢。这是因为传递指针实际上是传递变量的地址,函数内对指针所指向的变量的修改会反映到调用函数中。需要注意的是,返回的指针所指向的内存空间在函数调用结束后仍然存在(如动态分配的内存)。
2025-05-13 22:36:25
660
原创 C语言如何随机数生成
我们多运行多几次,发现随机数是一样,我们就不难发现,其实rand函数⽣成的随机数是伪随机的,伪随机数不是真正的随机数,是通过某种算法⽣成的随机数。程序中在调用rand函数先调用srand函数,通过srand函数的参数seed来设置rand函数⽣成随机数的时候的种⼦,只要种⼦在变化,每次⽣成的随机数序列也就变化起来了。函数生成的是伪随机数,并非真正意义上的随机数。这些随机数是基于特定的算法生成的,只要种子相同,生成的序列就固定。那也就是说给srand的种⼦是如果是随机的,rand就能⽣成随机数;
2025-05-07 23:19:25
299
原创 c语言扫雷游戏(小项目)
扫雷游戏相信大家都玩过,上图就是一个网页版的扫雷,它的规则是玩家选择一个方格,若此方格没有地雷,那么该方格会显示与它相邻的八个方格中雷的个数,若此方格有地雷,那么游戏失败,当玩家把除了有地雷的方格外的其他方格都成功翻开时,游戏胜利。game.c:游戏功能的具体实现,这部分是整个游戏的核心代码,一般不会展示给用户。Day020.c:游戏逻辑的测试,包含游戏菜单的打印,游戏设计的基本逻辑的展示。//存放布置雷的信息。game.h:相关头文件的包含、符号的声明以及函数的声明。"-----扫雷------\n"
2025-04-23 23:30:55
1502
原创 C语言分支
当n为真,执行if后面{}内的代码;当n为假,执行else后面{}内的代码。printf("成绩为 \n", score);printf("成绩为 \n", score);printf("成绩为 C\n",score);printf("成绩为 \n", score);printf("成绩为 \n", score);printf("n小于等于 5\n");printf("n 大于 5\n");printf("不是闰年\n");printf("是闰年\n");// 当 n 为真时执行的代码。
2025-04-12 22:14:47
184
原创 你好,编程之路的起点
掌握一门主力语言,能独立完成小型项目开发(网页开发),希望能自己开发一个个人网站或游戏类应用。希望通过系统性学习编程语言基础和核心概念,每周完成至少1个小项,从需求分析到代码实现。我向take-two interactive最向往,希望某一天能加入他们。每天至少1.3小时(晚:8.00-9.30),专注学习与编码。本人是C语言编程世界的新手,对游戏和读书有兴趣。
2025-03-29 16:46:27
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人