AI Summary 3.20524.4 C语言命名规范摘要 2026-10-09
C语言命名规范 变量用小写加下划线(如 student_age) 常量与宏用全大写加下划线(如 MAX_SIZE) 函数用动词短语(如 calculate_average) 结构体/枚举类型用大驼峰(如 StudentInfo) 并避免关键字 拼音和模糊命名

C语言命名规范

一、基本命名原则

  • 合法字符:字母、数字、下划线,且不能以数字开头

  • 区分大小写:count 与 Count 是不同标识符

  • 避免关键字:如 int, if, while 等

  • 见名知意:名称应准确表达用途,避免 temp, a, data1 等模糊命名

  • 风格一致:项目内保持统一风格比选择哪种风格更重要。


二、变量命名规范

全小写 + 下划线(snake_case)

int student_age;
float average_score;
  • 循环变量可用 i, j,但一般变量避免单字母

  • 避免拼音混英文,如 shujuCount,应使用 data_count。

  • 全局变量可加前缀:g_(全局)、s_(静态)


三、常量与宏命名

全大写 + 下划线

#define MAX_STUDENTS 100
const int BUFFER_SIZE = 512;
  • 宏加模块前缀避免冲突,如 PROJECT_UART_TIMEOUT

四、函数命名

动词开头 + 下划线或小驼峰

  • snake_case:calculate_average()、print_student_info()

  • camelCase:calculateAverage()(部分团队使用)

函数名应体现动作 + 目标,如:

void uart_send_data();

五、结构体、枚举、类型命名

大驼峰(PascalCase)

typedef struct {
    int age;
} StudentInfo;

enum ColorType { RED, GREEN, BLUE };

结构体成员可用 snake_case 或 camelCase,但需保持项目一致

六、文件命名

全小写 + 下划线

uart_driver.c
uart_driver.h

七、常见命名陷阱与避免方式

  • 避免单字符变量(除循环变量)

  • 避免拼音命名:降低跨团队可读性

  • 避免误导性缩写:如 ptr 却不是指针

  • 避免大小写混淆:如 totalCount vs TotalCount

  • 宏不要与函数名混淆:如 #define max(a,b)。

八、不同场景的命名风格建议

场景

推荐风格

理由

嵌入式/驱动

snake_case

与 Linux 内核一致,避免大小写混淆

应用层/业务逻辑

camelCase

更符合面向对象风格,阅读友好

跨平台项目

Windows 用 camelCase,Linux 用 snake_case

与平台生态一致


九、示例代码(综合规范)

C复制#include <stdio.h>

#define MAX_ATTEMPTS 3

typedef struct {
    int user_id;
    float account_balance;
} UserInfo;

float calculate_interest(float principal, float rate) {
    return principal * rate;
}

int main() {
    int login_count = 0;
    UserInfo user = {101, 1500.5};

    printf("User ID: %d\n", user.user_id);
    printf("Max Attempts: %d\n", MAX_ATTEMPTS);

    return 0;
}


总结

C语言命名规范的核心是 清晰、统一、可维护
无论选择 snake_case 还是 camelCase
团队统一规则 能显著提升代码质量与协作效率