C语言
文章平均质量分 73
C语言知识
兰陵笑笑生SD
服务于物联网、工业控制
展开
-
C语言实现单向链表
C语言实现单向链表单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。所谓单链表,是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分:1、数据域:用来存储本身数据2、链域或称为指针域:用来存储下一个结点地址或者说指向其直接后继的指针。代码实现如下:**注意: **以下代码的实现包含了链表的头指针,而链表本身并没有首部节点,也就是头指针直接指向了第一个真正有数据的节点。如下图所示:所谓头指针,就是指向第一个节点指针的指针,如果第一个节点是List原创 2021-03-15 17:06:27 · 480 阅读 · 0 评论 -
C程序调试中输出代码所在文件、函数和行数的方法
我们再调试C程序代码,尤其是嵌入式系统开发过程中的时候,经常使用printf函数输出一些我们需要关注的变量和状态,以判断我们代码中存在的问题,比如我们在程序适当的位置添加打印输出:void funcdemo(void){ int i; …… printf("i = %d",i);}这时候借助串口的输出信息我们就可以比较方便的判断是不是出问题,有没有正确执行。输出如下:i = 10但是当我们程序量非常大的时候,各种打印输出也非常多,这时候可能我们需要快速定位是哪个地方原创 2021-03-15 13:23:32 · 1630 阅读 · 0 评论 -
C语言结构体存储空间分配的原则
C语言结构体存储空间分配的原则我们在嵌入式编程中经常用到结构体,结构体内成员变量的声明顺序不同,会带来结构体整体存储空间大小的不同,这是因为在C语言里,结构体里元素存储要对齐,这个“对齐”里面包含了很多微妙的东西。结构体内存存储空间分配的原则:编译器按照成员列表顺序一个接一个地给每个成员分配内存。只有当存储成员时需要满足正确的边界对齐要求时,成员之间才可能出现用于填充的额外内存空间。而且还有3点原则:结构体变量的首地址要能够被其最宽基本类型元素的大小所整除。结构体的每个元素相对于结构体首地址的原创 2021-03-14 20:08:22 · 2411 阅读 · 1 评论 -
C语言结构体
C语言结构体文章目录C语言结构体C 结构体定义结构结构体变量的初始化访问结构成员结构作为函数参数指向结构的指针位域位域的定义和位域变量的说明位域的使用C 结构体C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:TitleAuthorSubjectBook ID定义结构为了定义结构,您必须使用 struct 语句。struc转载 2021-03-03 16:01:38 · 146 阅读 · 1 评论 -
C语言枚举和共用体
C语言枚举和共用体文章目录C语言枚举和共用体C enum(枚举)枚举变量的定义将整数转换为枚举C 共用体定义共用体访问共用体成员C enum(枚举)枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。枚举语法定义格式为:enum 枚举名 {枚举元素1,枚举元素2,……};接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:#define MON 1 #define TUE 2 #define WED 3原创 2021-03-03 14:58:53 · 308 阅读 · 2 评论 -
C函数指针与回调函数
C函数指针与回调函数文章目录C函数指针与回调函数函数指针实例回调函数函数指针作为某个函数的参数实例函数指针函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型实例以下实例声明了函数指针变量 p,指向函数 max:#include <stdio原创 2021-03-02 09:30:35 · 87 阅读 · 0 评论 -
C语言指针
C语言指针文章目录C语言指针C 指针实例什么是指针?如何使用指针?实例C 中的 NULL 指针实例C 指针的算术运算递增一个指针实例递减一个指针实例指针的比较实例C 指针数组实例实例实例C 指向指针的指针实例C 传递指针给函数实例实例C 指针学习 C 语言的指针既简单又有趣。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用原创 2021-03-02 09:29:06 · 233 阅读 · 0 评论