C语言修其,C语言修炼之三

一、结构体

1. 结构体对齐

1.1 对齐规则

(1) 结构体变量的地址值能够被其对齐值整除,对齐值为最宽的成员大小;

(2)结构体变量的每一个成员都应被其对齐值整除,若不能则在该变量前补齐;

(3)结构体的总体大小能被其对齐值整除,若不能则在结构体后补齐。

1.2 对齐原因

(1)手动对齐:节省内存;

(2)自然对齐:提高数据读取效率。

(3)手动对齐方式:

a.增加预编译标识,#pragma pack(n)、#pragma pack()

b.GNU:__attribute__((packed, aligned(1)))

1.2 结构体命名

typedef struct _highSchoolSstudent_S //采用驼峰式命名,结构体以"_S"结尾、联合体以"_U"结尾、枚举以"_E"结尾

{

char szSchoolName[64]; //成员变量应以数据类型类型开头作区分,

usigned int unGrade;

int nClass;

}highSchoolSstudent_S;

二、变量函数命名(驼峰式)

1、函数一般使用大驼峰、变量一般使用小驼峰。

2、结构体以"_S"结尾、联合体以"_U"结尾、枚举以"_E"结尾,或者采用S+驼峰式命名。

3、成员变量以变量类型区分,也就是匈牙利命名法:

(1)一般变量:

bool 用b开头bFlg

int 用i开头iCount

short int 用n开头nStepCount

long int 用l开头lSum

char  用c开头cCount

unsigned char 用by开头

float 用f开头fAvg

double 用d开头dDeta

unsigned int(WORD) 用w开头wCount

unsigned long int(DWORD) 用dw开头dwBroad

字符串 用s开头sFileName

用0结尾的字符串 用sz开头szFileName

(2)指针变量:

一级指针:p开头;

二级指针:pp开头;

三级指针:ppp开头。

(3)全局变量以g_开头,静态变量以s_开头,常量以c_开头;

4、函数命名:

(1)参数名称的命名参照变量命名规范,应准确描述函数的功能,也应遵循动宾结构的命名法则;

(2)为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递;

(3)为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译器检查错误,应该在入口参数前加入const标志。

参考:https://www.jianshu.com/p/bc5ce5923d53

原文:https://www.cnblogs.com/cdy0626/p/12504154.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值