c语言在嵌入式方向的应用
胡涂涂~
这个作者很懒,什么都没留下…
展开
-
c语言的内存分配方式
内存分配方式从静态存储区分配:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行过程中都存在。例如:全局变量,静态局部变量在栈上创建:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释 放内存。动态内存的生存期由程序员决定,使用非常灵活,但如果在堆原创 2021-11-08 00:34:31 · 751 阅读 · 0 评论 -
C语言易错点记录
1、读取未初始化的内存BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。其特点是可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。虽然BSS内存位置(如未初始化的全局变量)总是被加载器初始化为零,但是对于堆内存却不是这样的。一个 常见的错误就是假设堆内存被初始化为零。错误程序如下所示 :int * HuTutu(){ int k = 5 ; int *y = (int *原创 2022-01-05 18:37:29 · 229 阅读 · 0 评论 -
C语言中“.”与“->”有的区别详解
’’ . ''一般情况下用“.”,只需要声明一个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。" -> "而用“->”,则要声明一个结构体的指针,还要手动开辟一个该结构体的内存,然后把返回的指针给声明的结构体指针,才能用“->”正确引用。否则内存中只分配了指针的内存,没有分配结构体的内存,导致想要的结构体实际上是不存在。这时候用“->”引用自然出错了,因为没有结构体,自然没有结构体的域了原创 2021-10-30 00:02:02 · 657 阅读 · 0 评论 -
C语言之查漏补缺二
引用与指针的关系相同:1、都是地址的概念,指针指向某一内存,它的内容是所指内存的地址;引用则是某块内存的别名2、从内存分配来看:两者都占内存,程序为指针分配内存,一般是四个字节。引用的本质是指针常量,指向对象不能变,但指向对象的值可以变。两者都是地址概念,所以本身都会占用内存区别: 1、指针是实体,而引用是别名2、指针和引用的自增(++)运算符意义不同, 指针是对内存地址自增3、引用只能在定义的时候被初始化一次,之后不可变;指针可变。4、引用不能为空,指针可以为空5、“sizeof引用”得到的原创 2021-10-29 23:47:57 · 127 阅读 · 0 评论