- 博客(11)
- 收藏
- 关注
原创 【C语言进阶】:动态内存、单向链表
要求:使用malloc以及free实现realloc的功能// 自定义 realloc 函数// 判断是否为空printf("传入的数组为空\n");// 如果新大小为 0,视为释放 arrfree(arr);// 分配新的内存块printf("分配内存失败\n");// 将旧数据复制到新内存块中// 避免越界// 释放旧内存块free(arr);arr = NULL;// 初始数组// 计算初始数组大小// 动态分配内存并复制初始数组。
2025-03-14 21:36:21
896
原创 【C语言进阶】:递归函数、回调函数、可变参数
这种机制允许函数接受任意数量的参数,常见的例子是printf和scanf函数。回调函数是指通过函数指针调用的函数。回调函数的核心思想是将一个函数作为参数传递给另一个函数,并在适当的时候调用它。使用可变参数实现属于自己的printf函数,要求能够打印%d、%f、%c、%s。将函数A作为参数传递给函数B,函数B在适当的时候调用函数A。va_start:初始化va_list,使其指向可变参数列表的第一个参数。回调函数的基础是函数指针,即指向函数的指针变量。va_end:清理va_list,结束可变参数的访问。
2025-03-13 21:02:33
575
原创 【C语言】数组高级应用(查找与排序)、静态存储以及动态存储
冒泡排序是C语言数据结构与算法中较为常见的一种排序方法,其通过两两比较的方法将数据从小到大(从大到小)排列,每次比较后将大(小)的数向后移。是指在程序编译时就已经分配好的内存,其生命周期贯穿整个程序的运行期间。静态内存的分配和管理由编译器自动完成,程序员无法手动释放或调整静态内存的大小。编写一个学生信息管理系统,可以对学生的信息进行增加、删除、查找(使用而二分查找法)、排序、打印等功能。:程序占用的内存不断增加,最终可能导致系统内存耗尽。:确保每次分配的内存都有对应的free调用。
2025-03-12 21:38:44
539
原创 【C语言基础:从零开始学习C语言 02】
printf为格式化输出函数,需要引用<stdio.h>头文件。除格式化输出函数外,还有以下输出函数,具体使用可在Linux系统中通过man指令进行查询。1.2、输入函数其余输入函数还有以下几种,具体使用可在Linux系统中通过man指令进行查询。
2025-03-10 22:04:42
813
原创 【C语言基础:从零开始学习C语言】
C语言是一门经典的编程语言,广泛应用于操作系统、嵌入式系统、游戏开发等领域。它简洁、高效,是许多程序员入门编程的首选语言。
2025-03-08 10:28:00
570
原创 【Linux中的vim、gcc、shell】
Shell是一个命令解释器,是介于Linux操作系统的内核(Kernel)与用户之间的一个绝缘层。准确地说,它也是一种强力的计算机语言。而shell脚本就是将各种命令编写在一起的一个一次性执行程序文件,文件后缀为".sh"。
2025-03-05 20:30:36
871
原创 Linux基础Day02
创建文件(注意与mkdir的区别,mkdir用于创建文件夹)语法:touch [Linux路径]">":将左侧命令的结果,覆盖写入到符号右侧指定的文件中;">>": 将左侧命令的结果,追加写入到符号右侧指定的文件中;
2025-03-03 21:18:25
579
原创 Linux基础day1
"-p"表示递归创建目录,可在未创建的目录下创建目录后再次创建目录,依次递归下去,依次创建;例:man 3 printf 用于查看函数printf的具体编写程序,查看后可按"q"退出查看。"-f"强制执行,如果链接文件存在,则删除存在的文件,然后再创建链接;"-a"表示查看所有文件,包括隐藏文件(以"."开头的文件);"-i":交互模式,若存在相同文件名时询问用户是否覆盖原文件;"-h"需要与"-l"同时使用,可显示文件所占大小;"-l"表示以列表的形式查看所显示文件的详细信息;
2025-02-28 20:57:35
905
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人