首页
/
每日頭條
/
生活
/
c語言字符編碼怎麼用
c語言字符編碼怎麼用
更新时间:2026-08-27 11:42:39

寫代碼就像寫文章,需要準确地使用标點符号,合理地劃分段落。

編寫代碼時,遵守統一的編碼規範,讓排版美觀,可增強代碼易讀,降低出錯的可能性。

标識符命名規範

綜合各類語言,目前常見的命名方法包括:

駝峰命名(Camel case):标識符由多個單詞組成,第一個單詞全小寫,後面的所有單詞首字母大寫

PASCAL命名(Pascal case):标識符由多個單詞組成,所有單詞的首字母大寫

小蛇命名(Snake case):标識符由多個單詞組成,所有單詞均小寫,以下劃線拆分單詞

大蛇命名(Snake case):标識符由多個單詞組成,所有單詞均大寫,以下劃線拆分單詞

烤串命名(kebab case):标識符由多個單詞組成,所有單詞小寫,以中劃線拆分單詞(常用于url中)

匈牙利命名:标識符中包含作用域和類型信息。

例如:

#define USER_NAME_MAX_LENGTH 20 /* 大蛇命名 */ char userName[USER_NAME_MAX_LENGTH]; /* userName遵守駝峰命名 */ char UserName[USER_NAME_MAX_LENGTH]; /* UserName遵守PASCAL命名 */ char user_name[USER_NAME_MAX_LENGTH]; /* user_name遵守小蛇命名 */ char g_cUserName[USER_NAME_MAX_LENGTH]; /* 匈牙利命名,g代表全局變量,c代表char類型 */

C語言,标識符命名采用小蛇命名和大蛇命名,變量名、函數名等按照小蛇命名;枚舉常量、宏定義等按照大蛇命名。

縮進規範
  • 縮進使用4個空格(不建議用制表符Tab),建議在編輯器中,設置顯示空格和制表符

VSCode的設置:

c語言字符編碼怎麼用(C語言編碼規範)1

vscode顯示空格設置

SourceInSight的設置:

c語言字符編碼怎麼用(C語言編碼規範)2

SourceInSight顯示空格設置

Notepad 的設置

c語言字符編碼怎麼用(C語言編碼規範)3

Notepad 顯示空格設置

Visual Studio 2015的設置

c語言字符編碼怎麼用(C語言編碼規範)4

VisualStudio2015顯示空格設置

空格規範
  • 雙目運算符、三目運算符,運算符兩端各加一個空格

/* 雙目運算符 */ = - < > * / % | & ^ <= >= == != /* 三目運算符 */ ? :

例如:

c = a b; /* good */ c=a b; /* bad */

  • 單目運算符,與操作數之間不要加空格

/* 單目運算符 */ & * - ~ ! sizeof -- /* 結構體成員運算符 */ .和->

例如:

i ; /* good */ i ; /* bad */

  • if, switch, case, for do, while等關鍵字後面需要加空格

if (condition) {}

  • sizeof, typeof, alignof, attribute等關鍵字後面不要加空格
  • 小括号内的表達式前後不要加空格

s = sizeof(struct file);

  • 定義指針變量時,星号貼近名字,而不應該貼近類型

char *str;

大括号規範
  • 左大括号放在行尾,右大括号放在行首
  • 函數是一個特例,左大括号獨占一行

switch (action) { /* 左大括号放在行尾 */ case KOBJ_ADD: return "add"; case KOBJ_REMOVE: return "remove"; case KOBJ_CHANGE: return "change"; default: return NULL; } /* 右大括号放在行首 */ int function(int x) { /* 函數是一個特例,左大括号獨占一行 */ body of function }

  • 為方便代碼維護,即使條件語句中隻有一條語句,也建議使用大括号

if (condition) { do_this(); do_that(); } else { otherwise(); /* 隻有1條語句,建議使用大括号 */ }

斷行規範

為方便代碼編寫和閱讀,每行代碼長度不要超過80列,代碼中的字符串除外(為了方便字符串的閱讀和查找,同一個字符串,長度超過80列時不建議分成多行)。

注釋規範

為代碼寫注釋是個好習慣,但不要過度。注釋中不要試圖解析您的代碼如何(HOW)工作,最好的方式是代碼本身就清晰地說明了它是如何工作的。

通常情況下,注釋用來說明你的代碼在做什麼(WHAT),以及為什麼這麼做(WHY),記錄避免描述怎麼做(HOW)。

  • 給文件加上文件頭注釋

/****************************************************************************** * Copyright 2022 * * @file eraser_lib.cpp * * @brief * *============================================================================= * Revision History * Version Date Author Content * ------- ---------- --------- --------------------------------------- * V1.00 2022/03/12 yangyf Create. * *****************************************************************************/

  • 給函數加上函數頭注釋

/****************************************************************************** * @fn uint16_t calc_crc16(uint8_t const *data, int32_t data_len) * * @brief 計算16位的crc校驗碼 * * @param p_data 待校驗數據的首地址 * @param data_len 數據長度 * * @return CRC value, 0x0000 ~ 0xFFFF */ uint16_t calc_crc16(uint8_t const *data, int32_t data_len) { // ...... }

~ END ~

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
鐵棍山藥怎麼儲藏能時間長
鐵棍山藥怎麼儲藏能時間長
1、陰涼通風保存,用餐巾紙包裹鐵棍山藥,将其放置于陰涼通風幹燥的地方保存。2、米酒保存,準備一碗米酒...
2026-08-27
蛋撻皮解凍需要多久
蛋撻皮解凍需要多久
具體的解凍時間得看當地環境溫度和濕度,一般控制在1-4小時左右,氣溫較高解凍一小時左右即可,氣溫較低則要延長解凍時間,直至蛋撻皮變軟。蛋撻是一種以蛋漿做成餡料的西式餡餅;中國台灣稱為蛋塔,指餡料外露的餡餅(相對表面被餅皮覆蓋,餡料密封的批派餡餅)。葡萄牙式奶油撻,又稱葡式蛋塔,港澳地區稱葡撻,是一種小型的奶油酥皮餡餅,其焦黑表面(是糖過度受熱後的焦糖)是其特征。相傳最晚在18世紀葡萄牙裡斯本熱洛尼
2026-08-27
煙肉是什麼肉
煙肉是什麼肉
1、煙肉又名培根(Bacon),是将豬未經腌熏等加工的豬胸肉,或其他部位的肉熏制而成。煙肉一般被認為...
2026-08-27
大冬小冬是什麼意思
大冬小冬是什麼意思
小冬是冬至前一天,大冬是冬至當天。冬至是于每年公曆12月21、22或23日交節。冬至是太陽南行的極緻,這天太陽光直射南回歸線,太陽光對北半球最為傾斜。冬至日是北半球各地太陽高度最低的一天,同時也是北半球各地一年中白晝最短的一天,并且越往北白晝越短。冬至這天,太陽雖低、白晝雖短,但是在氣象上,冬至的溫度并不是最低。實際上,由于地表尚有“積熱”,冬至之前通常不會很冷,真正的嚴寒在冬至之後。由于我國各地
2026-08-27
白雲格格最終變成了什麼樹
白雲格格最終變成了什麼樹
白雲格格最終變成白桦樹。白雲格格出自滿族神話傳說,天神阿布卡恩都裡造就人類後,人們過着美滿的生活,漸漸地不聽阿布卡恩都裡的命令。他們為了争奪人口和土地互相争戰,觸怒了阿布卡恩都裡,他一氣之下打開了寶匣,把洪水撒向人間,要淹沒一切生靈。他的三女兒白雲看見阿瑪用這種殘忍的辦法懲罰人類,十分同情大地的生靈,請求阿瑪收回洪水。阿瑪不聽她的勸說,孤注一擲。白雲為了徹底治理洪水,挽救地上的生靈,她把個人安危置
2026-08-27
Copyright 2023-2026 - www.tftnews.com All Rights Reserved