前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )

【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )

作者头像
韩曙亮
发布2023-03-29 21:28:03
发布2023-03-29 21:28:03
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

文章目录

一、C 项目开发代码规范


上一篇博客 【C 语言】字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ;

C 项目开发代码规范 :

  • 形参合法性判断 : 函数入口处 , 判断函数形参是否为空 , 如果为空 , 直接返回 ;
代码语言:javascript
代码运行次数:0
运行
复制
int get_value(char *key_value, char *key, char *value, int *value_len)
{
    // 任何函数调用前 , 先判定函数形参正确性
    if(key_value == NULL || key == NULL || value == NULL || value_len == NULL)
    {
        printf("key_value == NULL || key == NULL || value == NULL || value_len == NULL\n");
        return -1;
    }
}
  • 函数返回值局部变量 : 函数中 , 建议定义一个 局部 返回值变量 , 该变量要经常使用 , 基本上每一步操作 , 都要有返回值 , 针对每个返回值都要有变量接收 ;
代码语言:javascript
代码运行次数:0
运行
复制
    // 各种函数执行返回值
    int ret = 0;
    // III . 将 = 字符后面的空格去除
    ret = trim_space(p, value);
    if(ret != 0)
    {
        printf("error : trim_space %d \n", ret);
        return ret;
    }
代码语言:javascript
代码运行次数:0
运行
复制
int get_sub_count(char *main_str, char *sub_str, int *sub_count)
{

    // 为了不修改 函数 形参 的值 , 使用指针变量接收 函数形参
    char *main_str_tmp = main_str;
    char *sub_str_tmp = sub_str;
}
  • 函数返回值 : 一般返回 int 值 , 用于 标记函数执行是否成功 , 如果失败 , 返回错误码 ;
  • 形参作返回值 : 函数的实际返回值 , 都是通过 函数形参指针 , 对 形参指针 进行 间接赋值 完成 ;
  • 形参返回值处理 : 返回值不要直接修改 , 先定义临时局部变量保存返回值 , 最后执行完毕 , 再将返回值 通过 间接赋值 赋值给 形参中的 返回值指针 指向的 内存地址 ;
代码语言:javascript
代码运行次数:0
运行
复制
    // 保存非空字符串长度 , 局部临时变 , 计算结果
    int count_tmp = 0;
    // 计算结果
    count_tmp = j - i + 1;
    // 通过间接赋值设置返回值
    *count = count_tmp;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、C 项目开发代码规范
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档