C语言语法
攒钱换车
慢慢学,但是不能落伍了
展开
-
switch语句的使用,为什么不做比较直接进入CASE语句了
switch语句进行安检值的判断,按键值为任何值时,都能进入case 4语句,很奇怪的现象,如下图所示,更改CASE条件也是同样能够进入。刚开始怀疑是MDK环境不是标准c环境,但是好像不是这样的,标记一下,后续贴上解决方案。...原创 2020-04-30 14:42:49 · 590 阅读 · 0 评论 -
C文件在MDK中中文显示不一致的问题
同样的代码,其中的中文字符在不同的.c文件中显示不一致,花了大半天时间去解决,标记一下。由于用到EMWIN中的GUIBUILER导出的C代码,我用记事本打开修改了,然后再导入MDK中造成的问题。...原创 2020-04-24 15:04:47 · 319 阅读 · 0 评论 -
c语言关键字volative的作用
在嵌入式开发中经常见到这样的关键字 __IO,用来对单片机的IO引脚、寄存器等变量进行声明,通过追踪其定义,发现 __IO实际就是关键字 volative . 如果一个变量声明时候用到关键字volative ,那么以后每次用到该变量都要从其物理地址直接读取,不能利用原来的数据,主要是避免编译器优化的原因和外部造成的变量改变,举例如下:void divv(int a,b){int c,原创 2017-02-14 12:22:05 · 413 阅读 · 0 评论 -
static的用法
static经常用来修饰变量,主要有2种用法,静态局部变量,静态全局变量。静态全局变量跟全局变量的区别:静态全局变量仅仅作用于当前 文件,静态变量作用于整个工程,即使其他文件进行声明,也是不能使用的。静态局部变量跟 局部变量的区别:1、局部变量在函数创建时分配存储地址,函数结束则释放,静态局部变零只在第一次调用该函数时分配内容,后面再调用时直接用,而且局部静态变量的值能够被上次调用时候原创 2017-03-05 11:09:28 · 333 阅读 · 0 评论 -
结构体指针错误造成MDK运行时的硬件错误报警及解决
我要用到一个函数void GUI_DispStringInRect (const char GUI_UNI_PTR * s, GUI_RECT * pRect, int TextAlign);这是emwin的一个系统函数,第一个参数指向一个字符串,第二个参数指定一个矩形区域,第三个参数指定显示时候对齐方式。GUI_RECT定义如下typedef struct { I16 x0,y0,x1原创 2017-05-07 12:43:24 · 1296 阅读 · 1 评论