#define HSI_VALUE ((uint32_t)16000000) 定义标识符 HSI_VALUE 的值为16000000。 这样我们就可以在代码中直接使用标识符HSI_VALUE,而不用直接使用常量 16000000。 很方便修改 HSI_VALUE 的值。 2.# ifdef 和 #if defined 条件编译 当满足某条件时对一组语句进行编译, 当条件不满足时则编译另一组语句。
#define定义一个函数最好这样做 #C语言 #编程 #嵌入式开发 #程序员 #define - 吕老师讲嵌入式开发于20241030发布在抖音,已经收获了47.1万个喜欢,来抖音,记录美好生活!
复杂度不同:使用typedef 定义新的数据类型通常比使用宏定义复杂,需要使用结构体、枚举等语言特性;而使用宏定义常量或函数通常比较简单,只需要使用宏定义语法即可。 总之,typedef 和define 都是嵌入式系统中非常重要的关键字。它们的作用虽然都与数据类型相关,但是它们的作用有所区别。使用typedef 可以定义新的数据类型,...
#define是宏定义,它是一种预处理命令,在预处理的时候进行简单的文本替换操作,其表达式一般如下: #define标识符 字符串/*宏定义结尾不加;*/ 在预处理时会把自己定义的标识符替换为宏定义中的字符串,比如: #definePI 3.14 这个宏定义的作用是把代码中的PI替换为3.14,在程序中遇到PI就可以把他看作3.14这个常数(...
1.define是预处理指令,用于创建符号常量。const是C和C++的关键字,用于创建具有常量值的变量,本质是只读变量。 2.define在预处理阶段执行。const在编译阶段执行。 3.define没有类型检查,仅进行文本替换。const有类型检查,可以与变量类型关联。 3.数组和链表的区别 ...
高频面试题满分回答—#define和typedef有什么区别 #嵌入式开发 #面试题 #C语言 #编程 #程序员 - 嵌入式小美老师于20241023发布在抖音,已经收获了47.1万个喜欢,来抖音,记录美好生活!
1). 标识#define 在宏中应用的基本知识。这是很重要的,因为直到嵌入(inline)操作符变 为标准 C 的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到 要求的性能,嵌入代码经常是必须的方法。 2). 三重条件操作符的知识。这个操作符存在 C 语言中的原因是它使得编译器能产生比 ...
define – 不分配内存,给出的是立即数,有多少次使用就进行多少次替换,在内存中会有多个拷贝,消耗内存大 const – 在静态存储区中分配空间,在程序运行过程中内存中只有一个拷贝 4.其他 在编译时, 编译器通常不为const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读...
用define可以定义一些简单的函数,const是不可以定义函数的. 具体来说,有以下几方面的区别: 1.编译器处理方式 define – 在预处理阶段进行替换 const – 在编译时确定其值 2.类型检查 define – 无类型,不进行类型安全检查,可能会产生意想不到的错误
#define false 0 使用bool类型,可以让你明确的知道这个变量的选择只有true / false,与一般的数据加以区分。例如使能变量en,和超时时间变量tim。 定义如下 bool en; uint16_t tim; 2 #include 同样,写C代码第一句就要包含这个,这个头文件的作用是按照BIT长度为你定义了各样的数据类型,例如 ...