C语言合理字符的代码,改善C语言程序代码的125个建议,第62到89个建议!

大家好,我是阿叔,专注分享产品、研发、管理等相关经验。

一共有125个改善C语言程序的建议,因为篇幅的原因,本文将第62到89个建议。其他的建议再下几篇文章发布。

7. 结构、位域和枚举

172d5f87e7c5a782a4c1ef233ce5d349.png

建议62:结构体的设计要遵循简单、单一原则

建议62-1:尽量使结构体的功能单一

建议62-2:尽量减小结构体间关系的复杂度

建议62-3:尽量使结构体中元素的个数适中

建议62-4:合理划分与改进结构体以提高空间效率

建议63:合理利用结构体内存对齐原理来提高程序效率

建议64:结构体的长度不一定等于各个成员的长度之和

建议65:避免在结构体之间执行逐字节比较

建议66:谨慎使用位域

建议67:谨慎使用枚举

建议68:禁止在位域成员上调用offsetof宏

建议69:深入理解结构体数组和结构体指针

8. 字符与字符串

fd28350b51f4a985ce3ab0754480800a.png

建议70:不要忽视字符串的null('\0')结尾符

建议70-1:正确认识字符数组和字符串

建议70-2:字符数组必须能够同时容纳字符数据和null结尾符

建议70-3:谨慎字符数组的初始化

建议71:尽量使用const指针来引用字符串常量

建议72:区别strlen函数与sizeof运算符

建议73:在使用不受限制的字符串函数时,必须保证结果字符串不会溢出内存

建议73-1:避免字符串拷贝发生溢出

建议73-2:区别串拷贝strcpy与内存拷贝memcpy

建议73-3:避免strcpy与memcpy函数内存重叠

建议73-4:区别字符串比较与内存比较

建议73-5:避免strcat函数发生内存重叠与溢出

建议74:谨慎strtok函数的不可重入性

建议75:掌握字符串查找技术

建议75-1:使用strchr与strrchr函数查找单个字符

建议75-2:使用strpbrk函数查找多个字符

建议75-3:使用strstr函数查找一个子串

建议75-4:区别strspn与strcspn函数

9. 文件系统

c02b21f7744fa475ffc4e36e36798f99.png

建议76:谨慎使用printf和scanf函数

建议77:谨慎文件打开操作

建议77-1:正确指定fopen的mode参数

建议77-2:必须检查fopen函数的返回值

建议77-3:尽量避免重复打开已经被打开的文件

建议77-4:区别fopen与fopen_s函数

建议77-5:区别fopen与freopen函数

建议78:文件操作完成后必须关闭

建议79:正确理解EOF宏

建议80:尽量使用feof和ferror检测文件结束和错误

建议81:尽量使用fgets替换gets函数

建议82:尽量使用fputs替换puts函数

建议83:合理选择单个字符读写函数

建议84:区别格式化读写函数

建议84-1:区别printf/scanf、fprintf/fscanf和sprintf/sscanf

建议84-2:尽量使用snprintf替代sprintf函数

建议84-3:区别vprintf/vscanf、vfprintf/vfscanf、vsprintf/vsscanf和vsnprintf

建议85:尽量使用fread与fwrite函数来读写二进制文件

建议86:尽量使用fseek替换rewind函数

建议87:尽量使用setvbuf替换setbuf函数

建议88:谨慎remove函数删除已打开的文件

建议89:谨慎rename函数重命名已经存在的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值