嵌入式开发学习日志(数据结构--双链表)Day21

一、双链表

1.定义

双向链表是在单链表的每个结点中,再设置一个指向其钱去节点的指针域。

2、声明文件

3、创建表头

4、头插

5、 遍历

6、尾插、

7、指定插

8、查找

9、修改

10.、删除

11、逆序

12、销毁链表

13、main.c

三、扩展:工程管理工具(makefile)

1、当三个以上的.c编译时:

(1)vi Makefile(makefile也可,推荐用首字母大写),进入下面的页面进行编写(也可在资源管理器中打开:

出现羊头标志即可)

版本一:

复制代码
a.out(目标):main.c ./doulink (依赖)
    gcc main.c doulink.c//前面空一个Tab键
clean:
    rm a.out

1、 a.out: main.c ./doulink.c // 规则1 ,生成可执行文件,其中./a.out为目标,冒号后的为依赖(输入结束回车)

2、 gcc main.c doulink.c //前面必须为Tab键空格

3、clean: //可删除目标文件

4、 rm a.out

版本二:(推荐使用)

复制代码
#代表源文件
SRC += main.c(变量名任取)//指定变量
SRC += doulink.c
DST = app(可执行文件)
 
CC = gcc//编译器
FLAG = -g
LIB = -lm
 
$(DST):$(SRC)
    $(CC) $(SRC) $(FLAG) $(LIB)-o(指定名字) $(DST)
clean:
    rm $(DST)

版本二示例:

(2)make (编译命令,默认只走第一条规则)

(3)./app (运行,版本一运行命令为 ./a.out)

2、扩展命令:make clean (删除中间产生的文件)。

相关推荐
第七序章1 天前
【C++STL】list的详细用法和底层实现
c语言·c++·自然语言处理·list
仙俊红1 天前
LeetCode每日一题,20250914
算法·leetcode·职场和发展
l1t1 天前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb
l1t1 天前
利用美团龙猫用libxml2编写XML转CSV文件C程序
xml·c语言·libxml2·解析器
Hello_Embed1 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
咸甜适中1 天前
rust语言 (1.88) 学习笔记:客户端和服务器端同在一个项目中
笔记·学习·rust
Magnetic_h1 天前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
风中的微尘1 天前
39.网络流入门
开发语言·网络·c++·算法
研梦非凡1 天前
ICCV 2025|从粗到细:用于高效3D高斯溅射的可学习离散小波变换
人工智能·深度学习·学习·3d
西红柿维生素1 天前
JVM相关总结
java·jvm·算法