
嵌入式c语言高级编程
文章平均质量分 70
发生了什么Bug
这个作者很懒,什么都没留下…
展开
-
c语言中的隐式类型转换
我们在实际编程中,不管你是有意的还是无意的,有时候都会让两个不同类型的数据参与运算,编译器为了能够生成CPU可以正常。,如果程序员在程序中没有对类型进行强式类型转换,则编译器在编译程序时就会自动进行隐式类型转换。执行的指令,往往会对数据做类型转换,将两个不同类型的数据转换成同一种数据类型。● 算术运算、逻辑运算、赋值表达式中运算符两侧数据类型不相。遇到上面这几种情况,编译器就会对数据类型进行自动转换,即。● 函数调用过程中,传递的实参和形参类型不匹配时。● 函数返回值类型与函数声明的类型不匹配时。原创 2024-02-10 20:38:08 · 547 阅读 · 0 评论 -
c语言内存对齐
内存对齐:在计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任何类型的变量。但实际上在访问特定类型的变量的时候需要从特定的地址开始,这就需要各种类型的数据按照一定的规则在空间上排列,而不是顺序的一个接一个的存放,这就是内存对齐,也叫字节对齐。原创 2024-02-10 20:30:37 · 1171 阅读 · 0 评论 -
c语言数据类型定义错误导致的数据溢出或者死循环
例如,一个unsigned char类型的数据,它能表示的数据范围为[0,255],当其循环到255最大值时继续加1,这个数就变成了0,开始新的一轮循环,周而复始。为了防止这种问题发生,我们有两种解决方法:可以将函数的参数类型设置为signed int,或者在print_star()函数中对传进来的实。是unsigned int类型,unsigned int类型在递减的时候存在数据溢出的问题,当减到-1时数据发生溢出,原创 2024-02-10 20:27:29 · 800 阅读 · 0 评论 -
嵌入式c语言学习笔记:可重入函数与不可重入函数
什么是可重入函数与不可重入函数?在一个多任务环境中,一个函数如果可以被多次重复调用,或者被多个任务并发调用,函数在运行过程中可以随时随地被打断,并不影响该函数的运行结果,我们称这样的函数为可重入函数。相反,如果一个函数不能多次并发调用,在执行过程中不能被中断,否则就会影响函数的运行结果,那么这个函数就是不可重入函数。如何判断一个函数是可重入函数,还是不可重入函数呢?规则很简单,一个函数如果满足下列条件中的任何一个,那么这个函数就是不可重入函数。函数内部使用了全局变量或者局部静态变量;函数返回值是一个原创 2024-01-09 10:13:02 · 870 阅读 · 0 评论 -
include跟双引号“ “和<>的区别
双引号“ ”的意思是告诉编译器首先在当前目录下搜索需要包含的文件,如果当前目录下没有该文件,则在编译选项指定的系统头文件目录中搜索该文件。原创 2023-12-26 09:04:19 · 994 阅读 · 0 评论