C语言数据类型变量命名前缀 [建议]

在C语言编程中,使用前缀来标识变量类型是一种常见的命名约定,有助于提高代码可读性。以下是一些常用的数据类型前缀建议:

基本数据类型前缀

  1. 整型

    • in - int (例如: iCount, nItems)
    • b - bool/boolean (例如: bIsReady)
    • c - char (例如: cKey)
    • by - unsigned char/byte (例如: byFlags)
    • w - word/short (例如: wLength)
    • dw - unsigned long/dword (例如: dwSize)
  2. 浮点型

    • f - float (例如: fPrice)
    • d - double (例如: dDistance)
    • lf - long double (较少使用)
  3. 指针类型

    • p - 指针 (例如: pBuffer, pNextNode)
    • pp - 指针的指针 (例如: ppMatrix)

复合数据类型前缀

  1. 数组

    • a - 数组 (例如: aStudents, aResults)
  2. 字符串

    • sz - 以零结尾的字符串 (例如: szName)
    • str - 字符串 (例如: strMessage)
  3. 结构体

    • st - 结构体 (例如: stEmployee)
    • t - 类型定义 (例如: tNode)
  4. 枚举

    • e - 枚举 (例如: eColor)
    • k - 常量/枚举值 (例如: kRed)

作用域前缀

  1. g_ - 全局变量 (例如: g_nCounter)
  2. m_ - 类成员变量 (在C++中更常见)
  3. s_ - 静态变量 (例如: s_nInstanceCount)

其他常见前缀

  1. h - 句柄 (例如: hFile)
  2. u - 无符号整型 (例如: uLength)
  3. fn - 函数指针 (例如: fnCallback)

示例

int iAge;                // 整型年龄
float fTemperature;      // 浮点温度
char szName[50];         // 字符串名称
unsigned long dwSize;    // 无符号长整型大小
int *pData;              // 整型指针
struct student stTom;    // 学生结构体
bool bIsValid;           // 布尔值

注意:这些前缀并非强制标准,团队或项目内部应保持一致即可。匈牙利命名法(如iValue)和现代命名法(如valueInt)各有优缺点,选择适合团队的风格最重要。