- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 嵌入式面试C集锦(7) 循环队列
//运行环境keil c51//学习目的:循环队列的运用/*关键算法:在循环队列中,当队列为空时,有front=rear,而当所有队列空间全占满时,也有front=rear。为了区别这两种情况,规定循环队列最多只能有MaxSize-1个队列元素,当循环队列中只剩下一个空存储单元时,队列就已经满了。因此,队列判空的条件时front=rear,而队列判满的条件时front=(rear+1)%MaxSize。*/#include "reg51.h"#include <stdio.h>.
2020-08-17 22:00:44 237 1
转载 嵌入式面试C集锦(6) 关键字CONST
答:我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)如果应试者能正确回答这个问题,我将问他
2020-08-11 00:37:45 120
转载 嵌入式面试C集锦(5) 堆、栈的区别
全面描述了堆栈的区别,大家有个印象就行(1)申请方式stack:由系统自动分配。例如,声明在函数中一个局部变量int b;系统自动在栈中为b开辟空间heap:需要程序员自己申请,并指明大小,在c中malloc函数如p1=(char*)malloc(10);在C++中用new运算符如p2=(char*)malloc(10);但是注意p1、p2本身是在栈中的。(2)申请后系统的响应栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。堆:首先应该知道操作系统有
2020-08-11 00:10:34 281
原创 STM32 内存分布
网上找到两篇很详细的关于stm32内存分布的讲解:http://www.openedv.com/forum.php?mod=viewthread&tid=271679&page=1https://blog.csdn.net/gmq_syy/article/details/82220158下图我觉得描述的很好,能把图看明白,这个知识点就掌握了。...
2020-08-06 17:51:07 394
原创 嵌入式面试C集锦(4)测试结构体成员内存对齐方式
//测试环境:keil for ARM//测试目的:通过keil仿真,介绍结构体成员对齐方式 #pragma pack ()//定义一个联合体类型 struct stru { int a; long b; char c; };int *p1;//定义指针变量long *p2;//定义指针变量char *p3;//定义指针变量struct stru stru1={1,1,1};//初始化结构体unsigned char temp;//定义一个变量,存放结构体长度 .
2020-08-06 00:54:13 188
原创 嵌入式面试C集锦(3)测试联合体变量成员地址在数值上相等
#include "reg51.h"#include "intrins.h"//测试环境:keil c51//测试目的:通过keil仿真,测试联合体变量成员地址在数值上相等。//定义一个联合体类型union un{unsigned int i; char j;}; union un un1; //定义联合体变量void main(){ unsigned int *p1;//定义指针 char *p2;//定义指针 p1= &un1.i;//给指针赋值 p2 .
2020-08-05 22:04:21 304
原创 嵌入式面试C集锦(2)冒泡排序法
//功能:实现冒泡排序,从大到小void paixu(char buf[],char N) { unsigned char i,j; char temp; for(i=0;i<N-1;i++)//N个数,比较N-1次大循环 { for(j=0;j<N-i-1;j++) //第i次大循环,小循环比较的次数是N-i-1 { if(buf[j] < ...
2020-08-05 21:38:49 245
转载 嵌入式面试C集锦(1)嵌入式大小端判断
转载,如若侵权,请联系本人删除。联合体定义联合体和结构体一样都是自定义类型。联合体也包含一系列成员,但是和结构体不一样的是这些成员共用一个空间。也就是说联合体内,任意一个成员地址在数值上都相等。请看联合体的声明:利用联合体判断大小端先请看下列代码:由此,可以利用联合体判断大小端:同理,还有另一种方法判断大小端:联合大小的计算结构体存在内存对齐,那联合存在吗?由于联合中各成员共用同一段空间,所以联合长度至少可以容纳最大的成员。但是当最大成员.
2020-08-05 21:22:48 283
iar for msp430 7.11
2018-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人