C语言基础补充
来源:互联网 发布:实战linux编程精髓pdf 编辑:程序博客网 时间:2024/06/05 21:01
一、基本结构
忌用 main()、void main()等不规范格式。
Linux下的返回值“0”表示成功,非值(负值)表示失败。函数的返回值一般只表示成败,函数结果不做返回,而用输出表示。
函数代码一般不要超过两百行,尽量不要使用递归函数,嵌入式中默认栈只有1024k,递归函数容易将栈击穿。 功能函数 输出符 解释 __FILE__ %s 输出当前文件名 __LINE__ %d 输出当前所在行数 __FUNCTION__ %s 输出当前函数名 函数的调用必须处理返回值,例:
返回前应释放志愿,常见为内存释放,例:
参数/函数的命名一般为动实结构:
扇入扇出一般控制在七个以内,
1. 无论是否只有单行代码,花括弧必须完备,方便后续人员维护开发。
2.针对头文件只作函数变量声明用,函数在库中实现。
3. main函数:
(1)标准main函数格式:
① int main(void){…} ② int main(int argc,char**argv){…}//argc:输入参数个数,不小于1;argv:输入字符串。
(2)main函数返回值:
二、基本语法
1. 循环内少判断,尽量先处理完判断再进行循环。
2. if要配套else,switch要配套deafult
3. 设计优先级时使用小括号“()”区分,不要使用默认优先级。
三、函数
调试:
int ret; ret =function(); if (ret !=0) { printf(…); return -1; }
当出现异常时应进行分支处理,在调用函数中使用返回而不退出。
pbuf =malloc(1024); … free(pbuf);
intGetVersion(); intSetxxxValue();
扇入:直接调用该模块的上级模块的个数。
扇出:模块直接调用的下级模块的个数。
四、内存
1. 分配要处理返回值;
2. 不要频繁分配内存,这样容易产生内存碎片。规避碎片的方法可以使用常驻内存,即不释放多次使用,或者使用 利用哈希表;
3. 保持内存连续性;
4. 使用强制性转换;
5. 遵守谁调用谁释放原则。
五、数组、字符串
熟悉strcpy()、strcmp()、strcat()、strchr()、strstr()等函数。
利用指针偏移控制数组。一般超过1024字节的不再使用数组,而是使用内存分配。
六、结构体
1. 保持关联性
高内聚,低耦合
2. 尽量四字节对齐,例:
int num; char i; char j; char k; char l; double n;
32位系统中指针亦是四字节。
3. 利用typedef定义结构体别名。
date:2013-01-20(W)
0 0
- C语言基础补充
- C语言基础补充2
- C语言基础补充3
- C语言基础:指针初级(补充)
- C语言基础:预处理指令(补充内容:递归)
- C语言基础(九)结构体、补充typedef用法
- C语言基础-指针和函数的补充21
- C 语言知识补充
- C语言补充学习
- C语言基础知识补充
- C语言基础:C语言指针(4) - 补充一点关于指针的小知识
- c语言函数知识点补充
- C语言内存知识补充
- c/c++基础零散补充
- c/c++基础零散补充
- java语言基础题(不断补充)
- 黑马程序员--Java语言基础补充
- 黑马程序员--Java语言基础补充2
- STM32学习笔记——使用SysTick定时器做延时
- Win7下在VMware虚拟机中安装Ubuntu
- oc基础知识
- Linux系统常用命令与vim常用命令
- Linux变量与samba服务器、nfs服务器搭建
- C语言基础补充
- C语言基础补充2
- C语言基础补充3
- c语言_数据结构_顺序表
- c语言_数据结构_单链表
- c语言_数据结构_单向循环链表
- c语言_数据结构_双向循环链表
- 在Keil中使用JLink调试S5PV210配置方法
- make menuconfig/.config/Kconfig解析