1. 将float型赋值给整型
比如float f=3.14
int i=f
i 最后等于3。 这个转换是由编译器完成的,当把float型的数据赋值给int型数据时,编译器会自动截断小数点后的数,把整数部分赋给int类型的变量
由此可推断出四舍五入的实现方法:int a = b+0.5;
2. for循环的低级错误:for ( j = 5; j <= 1905; j+=100),如果不是j+=100,而是之前写的j+100,那就会一直在循环里没有对j做一个值上面的改变,而j++则是对j的值加1,不同于j+100;
3. demo指的是样板或者实例,上次充电芯片的demo板即为厂家留下来的示例用板;
4. 低级错误:打印%s,但是指针所指不一定是字符串,会报越界错误;
5. 判断某个文件、某个目录/文件夹是否存在均可使用access函数;写入csv格式文件需要用fopen,创建目录则是调用stat.h里的mkdir函数;
6. 声明不确定参数多少的时候可以这样:int func_name(int arg1, ...);详见菜鸟教程
7. C 库函数 time_t mktime(struct tm *timeptr) 把 timeptr 所指向的结构转换为自 1970 年 1 月 1 日以来持续时间的秒数,发生错误时返回-1;
8. C 库函数 void *calloc(size_t nitems, size_t size) 分配所需的内存空间,并返回一个指向它的指针。malloc 和 calloc 之间的不同点是,malloc 不会设置内存为零,而 calloc 会设置分配的内存为零。
注意:calloc() 函数将分配的内存全部初始化为零。如果不需要初始化,可以使用 malloc() 函数代替。另外,使用 calloc() 函数时需要注意,如果分配的内存块过大,可能会导致内存不足的问题;
为了实现同样的功能,还可以调用gettimeofday()函数;
9. linux vim编辑器基本命令
:w - 保存文件,不退出 vim
:w file -将修改另外保存到 file 中,不退出 vim
:w! -强制保存,不退出 vim
:wq -保存文件,退出 vim
:wq! -强制保存文件,退出 vim
:q -不保存文件,退出 vim
:q! -不保存文件,强制退出 vim
:e! -放弃所有修改,从上次保存文件开始再编辑