日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/6/17 编程问答 30 豆豆

文章目錄

  • 一、C 項目開發代碼規范





一、C 項目開發代碼規范



上一篇博客 【C 語言】字符串模型 ( 鍵值對模型 ) 中 , 完成了字符串的 鍵值對 查找功能 , 代碼不太規范 ;


C 項目開發代碼規范 :

  • 形參合法性判斷 : 函數入口處 , 判斷函數形參是否為空 , 如果為空 , 直接返回 ;
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;} }
  • 函數返回值局部變量 : 函數中 , 建議定義一個 局部 返回值變量 , 該變量要經常使用 , 基本上每一步操作 , 都要有返回值 , 針對每個返回值都要有變量接收 ;
// 各種函數執行返回值int ret = 0;// III . 將 = 字符后面的空格去除ret = trim_space(p, value);if(ret != 0){printf("error : trim_space %d \n", ret);return ret;}
  • 函數中不用全局變量 : 在函數中 , 盡量 不使用全局變量 , 一旦涉及到全局變量 , 該函數肯定是線程不安全的 ; 參考 【C 語言】字符串模型 ( 字符串翻轉模型 | 借助 遞歸函數操作 逆序字符串操作 | strncat 函數 ) 博客 , 該博客中就使用了全局變量存放函數結果 , 不支持多線程訪問 ;
  • 函數中使用局部變量接收形參 : 函數形參中的指針變量 , 不要直接使用 , 如果涉及到修改指針指向的操作 , 建議 創建 函數 中 局部指針變量 接收該 形參指針變量 ;
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 值 , 用于 標記函數執行是否成功 , 如果失敗 , 返回錯誤碼 ;
  • 形參作返回值 : 函數的實際返回值 , 都是通過 函數形參指針 , 對 形參指針 進行 間接賦值 完成 ;
  • 形參返回值處理 : 返回值不要直接修改 , 先定義臨時局部變量保存返回值 , 最后執行完畢 , 再將返回值 通過 間接賦值 賦值給 形參中的 返回值指針 指向的 內存地址 ;
// 保存非空字符串長度 , 局部臨時變 , 計算結果int count_tmp = 0;// 計算結果count_tmp = j - i + 1;// 通過間接賦值設置返回值*count = count_tmp;

總結

以上是生活随笔為你收集整理的【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。