随笔分类 - C/C++
摘要:while((ch=getchar()) !=EOF && ch != '\n');语句作用:清除输入缓存。 如:需要使用函数scanf读取数字123,实际输入的的数据为:123\n(回车),而scanf函数只是读取数字123,\n(回车)还放在输入缓冲内,后续读取数据就可能出错。 示例: 1 in
        阅读全文
                
摘要:1、将函数内部定义的变量用static修饰 由于static修饰的变量,分配在静态内存区(类似于全局变量区),函数返回时,并不会释放内存,因此可以将要返回的变量加static修饰。 2、使用分配在堆上的内存 分配在堆上的内存主要指通过malloc、calloc、realloc等函数动态分配的内存,由
        阅读全文
                
摘要:C语言使用return关键字返回函数值,可以很好对函数做封装,此处的疑问是:函数内部创建的变量都是局部变量,即私有的,作用域就在函数之内,为什么却可以把值传给调用函数? 解释这个问题还需要从C语言调用函数传参类比来说,C语言传参调用时,可以采用传值和传指针两种方式。 传值的形式:只是将参数值的拷贝传
        阅读全文
                
摘要:学习STM32偶然发现:在Keil中直接预先定义宏USE_STDPERIPH_DRIVER,但是却没有指定宏的值。而在头文件中判断用的是如下代码: 1 #ifdef USE_STDPERIPH_DRIVER 2 #include "stm32f4xx_conf.h" 3 #endif /* USE_
        阅读全文
                
摘要:#undef 作用:取消定义的宏 指令格式:#undef 标识符 运行结果: 注意:在《MISRA-C-2004工业标准的C规范》中要求不允许使用#undef,详见《MISRA-C-2004工业标准的C规范》规则19.6。
        阅读全文
                
摘要:1、a[i]++:表示对当前数组元素值自增,此时可以把a[i]简单看做一个变量x,操作后,x的值加1; 结果: 2、a[i++]:表示指向下一个数组元素值; 结果: 注意:此处有i++和++i的陷阱,实际应用的时候注意。
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号