當前位置:首頁 » 編程語言 » 嵌入式c語言命名約定
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

嵌入式c語言命名約定

發布時間: 2022-04-15 12:59:31

A. c語言標識符的命名規則有哪些

C語言標識符的命名規則有:

1、有效字元:只能由字母、數字和下劃線組成,且以字母或下劃線開頭。

2、有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被舍棄。

例如,由於student_name和student_number的前8個字元相同,有的系統認為這兩個變數,是一回事而不加區別。在TCV2.0中,變數名(標識符)的有效長度為1~32個字元,預設值為32。

3、C語言的關鍵字不能用作變數名。

(1)嵌入式c語言命名約定擴展閱讀

C語言標識符使用注意事項

1、標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。

2、不能把C語言關鍵字作為用戶標識符,例如if,for,while等。

3、標識符長度是由機器上的編譯系統決定的,一般的限制為8字元(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。

4、標識符對大小寫敏感,即嚴格區分大小寫。一般對變數名用小寫,符號常量命名用大寫。

B. C語言標識符的命名規則是什麼請舉例說明

C語言的標識符一般應遵循如下的命名規則:

1、標識符必須以字母a~z、 A~Z或下劃線開頭,後面可跟任意個(可為0)字元,這些字元可以是字母、下劃線和數字,其他字元不允許出現在標識符中。

2、標識符區分大小寫字母;

3、標識符的長度,c89規定31個字元以內,c99規定63個字元以內;

4、C語言中的關鍵字,有特殊意義,不能作為標識符;

5、自定義標識符最好取具有一定意義的字元串,便於記憶和理解。

(2)嵌入式c語言命名約定擴展閱讀:

C語言中預先定義了一些標識符,他們有特定的含義,通常用做固定的庫函數名或預編譯處理中的專門命令。如scanf、printf、sin、define、include等。

C語言允許用戶標識符與預定義標識符同名,但這將使這些標識符失去系統規定的原意。為了避免誤解,建議用戶為標識符取名時盡量不要與系統預先定義的標准標識符(如標准函數)同名。

C. C語言標識符的命名規則有哪些

在程序中使用的變數名、函數名、標號等統稱為標識符。除庫函數的函數名由系統定義外,其餘都由用戶自定義。C 規定,標識符只能是字母(A~Z,a~z)、數字(0~9)、下劃線()組成的字元串,並且其第一個字元必須是字母或下劃線。 在使用標識符時還必須注意以下幾點: (1)標准C不限制標識符的長度,但它受各種版本的C 語言編譯系統限制,同時也受到具體機器的限制。例如在某版本C 中規定標識符前八位有效,當兩個標識符前八位相同時,則被認為是同一個標識符。 (2)在標識符中,大小寫是有區別的。例如BOOK和book 是兩個不同的標識符。 (3)標識符雖然可由程序員隨意定義,但標識符是用於標識某個量的符號。因此,命名應盡量有相應的意義,以便閱讀理解,作到「顧名思義」。

D. C語言命名規則

由字母和數字組成,但是第一個字元必需是字母,下劃線也被認為是字母.由於庫函數常常使用下劃線開頭的名字,因此盡量不要在函數中使用此類名字。字母大寫和小寫是不一樣的,全部大寫字母組成的名字常常作為是符號常量

E. c語言的發展史

C語言,是一種通用的、過程式的編程語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。

C語言是由UNIX的研製者丹尼斯·里奇(Dennis Ritchie)於1970年 由 肯·湯普遜(Ken Thompson)所研製出的B語言的基礎上發展和完善起來的。目前,C語言編譯器普遍存在於各種不同的操作系統中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C語言的設計影響了許多後來的編程語言,例如C++、Objective-C、Java、C#等。

後來於1980年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局(American National Standard Institution)為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言的標准。1980年代至今的有關程序開發工具,一般都支持符合ANSI C的語法。

C語言是一個程序語言,設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言也很適合搭配匯編語言來使用。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

早期發展
C語言最早是由丹尼斯·里奇為了在PDP-11電腦上運行的UNIX系統所設計出來的編程語言,第一次發展在1969年到1973年之間。之所以被稱為「C」是因為C語言的很多特性是由一種更早的被稱為B語言的編程語言中發展而來。早期操作系統的核心大多由匯編語言組成,隨著C語言的發展,C語言已經可以用來編寫操作系統的核心。1973年,Unix操作系統的核心正式用C語言改寫,這是C語言第一次應用在操作系統的核心編寫上。
K&R C
1978年,丹尼斯·里奇(Dennis Ritchie)和布萊恩·柯林漢(Brian Kernighan)合作出版了《C程序設計語言》的第一版。書中介紹的C語言標准也被C語言程序員稱作「K&R C」,第二版的書中也包含了一些ANSI C的標准。K&R C主要介紹了以下特色:

結構(struct)類型
長整數(long int)類型
無符號整數(unsigned int)類型
把運算符=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道用戶要處理i = -10還是i =- 10,使得處理上產生混淆。
即使在後來ANSI C標准被提出的許多年後,K&R C仍然是許多編譯器的最低標准要求,許多老舊的編譯仍然運行K&R C的標准。
ANSI C 和 ISO C
1989年,C語言被 ANSI 標准化(ANSI X3.159-1989)。標准化的一個目的是擴展K&R C。這個標准包括了一些新特性。在K&R出版後,一些新特性被非官方地加到C語言中。

void 函數
函數返回 struct 或 union 類型
void * 數據類型
在ANSI標准化自己的過程中,一些新的特性被加了進去。ANSI也規定了一套標准函數庫。ANSI ISO(國際標准化組織)成立 ISO/IEC JTC1/SC22/WG14 工作組,來規定國際標準的C語言。通過對ANSI標準的少量修改,最終通過了 ISO 9899:1990。隨後,ISO標准被 ANSI 採納。

傳統C語言到ANSI/ISO標准C語言的改進包括:

增加了真正的標准庫
新的預處理命令與特性
函數原型允許在函數申明中指定參數類型
一些新的關鍵字,包括 const、volatile 與 signed
寬字元、寬字元串與位元組多字元
對約定規則、聲明和類型檢查的許多小改動與澄清
WG14工作小組之後又於1995年,對1985年頒布的標准做了兩處技術修訂(缺陷修復)和一個補充(擴展)。下面是 1995 年做出的所有修改:

3 個新的標准庫頭文件 iso646.h、wctype.h 和 wchar.h
幾個新的記號與預定義宏,用於對國際化提供更好的支持
printf/sprintf 函數一系列新的格式代碼
大量的函數和一些類型與常量,用於多位元組字元和寬位元組字元

C99在ANSI的標准確立後,C語言的規范在一段時間內沒有大的變動,然而C++在自己的標准化創建過程中繼續發展壯大。《標准修正案一》在1995年為C語言創建了一個新標准,但是只修正了一些C89標准中的細節和增加更多更廣的國際字元集支持。不過,這個標准引出了1999年ISO 9899:1999的發表。它通常被稱為C99。C99被ANSI於2000年3月採用。

在C99中包括的特性有:

增加了對編譯器的限制,比如源程序每行要求至少支持到 4095 位元組,變數名函數名的要求支持到 63 位元組(extern 要求支持到 31)。
增強了預處理功能。例如:
宏支持取可變參數 #define Macro(...) __VA_ARGS__
使用宏的時候,允許省略參數,被省略的參數會被擴展成空串。
支持 // 開頭的單行注釋(這個特性實際上在C89的很多編譯器上已經被支持了)
增加了新關鍵字 restrict, inline, _Complex, _Imaginary, _Bool
支持 long long, long double _Complex, float _Complex 等類型
支持不定長的數組,即數組長度可以在運行時決定,比如利用變數作為數組長度。聲明時使用 int a[var] 的形式。不過考慮到效率和實現,不定長數組不能用在全局,或 struct 與 union 里。
變數聲明不必放在語句塊的開頭,for 語句提倡寫成 for(int i=0;i<100;++i) 的形式,即i 只在 for 語句塊內部有效。
允許採用(type_name){xx,xx,xx} 類似於 C++ 的構造函數的形式構造匿名的結構體。
初始化結構的時候允許對特定的元素賦值,形式為:
struct {int a[3],b;} foo[] = { [0].a = {1}, [1].a = 2 };
struct {int a, b, c, d;} foo = { .a = 1, .c = 3, 4, .b = 5} // 3,4 是對 .c,.d 賦值的
格式化字元串中,利用 \u 支持 unicode 的字元。
支持 16 進制的浮點數的描述。
printf scanf 的格式化串增加了對 long long int 類型的支持。
浮點數的內部數據描述支持了新標准,可以使用 #pragma 編譯器指令指定。
除了已有的 __line__ __file__ 以外,增加了 __func__ 得到當前的函數名。
允許編譯器化簡非常數的表達式。
修改了 / % 處理負數時的定義,這樣可以給出明確的結果,例如在C89中-22 / 7 = -3, -22 % 7 = -1 ,也可以-22 / 7= -4, -22 % 7 = 6。 而C99中明確為 -22 / 7 = -3, -22 % 7 = -1,只有一種結果。
取消了函數返回類型默認為 int 的規定。
允許 struct 定義的最後一個數組不指定其長度,寫做 [] 。
const const int i 將被當作 const int i 處理。
增加和修改了一些標准頭文件,比如定義 bool 的 <stdbool.h> ,定義一些標准長度的 int 的 <inttypes.h> ,定義復數的 <complex.h> ,定義寬字元的 <wctype.h> ,類似於泛型的數學函數 <tgmath.h>, 浮點數相關的 <fenv.h>。 在<stdarg.h> 增加了 va_ 用於復制 ... 的參數。<time.h> 里增加了 struct tmx ,對 struct tm 做了擴展。
輸入輸出對寬字元以及長整數等做了相應的支持。

F. c語言中標識符的命名規則是怎樣的

C語言標識符的命名規則有:

1、有效字元:只能由字母、數字和下劃線組成,且以字母或下劃線開頭。

2、有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被舍棄。

例如,由於student_name和student_number的前8個字元相同,有的系統認為這兩個變數,是一回事而不加區別。在TCV2.0中,變數名(標識符)的有效長度為1~32個字元,預設值為32。

3、C語言的關鍵字不能用作變數名。

(6)嵌入式c語言命名約定擴展閱讀

C語言標識符使用注意事項

1、標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。

2、不能把C語言關鍵字作為用戶標識符,例如if,for,while等。

3、標識符長度是由機器上的編譯系統決定的,一般的限制為8字元(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。

4、標識符對大小寫敏感,即嚴格區分大小寫。一般對變數名用小寫,符號常量命名用大寫。

G. C語言文件名命名有什麼規則么

C語言文件名命名只要符合標識符命名規則即可,另外,頭文件以".h"為後綴,源文件以".c"為後綴。

C語言標識符命名規則:

  1. 標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。

  2. 不能把C語言關鍵字作為用戶標識符,例如if ,for, while等.

  3. 標識符長度是由機器上的編譯系統決定的,一般的限制為8字元(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。

  4. 標識符對大小寫敏感,即嚴格區分大小寫。一般對變數名用小寫,符號常量命名用大寫。

  5. 標識符命名應做到「見名知意」,例如,長度(外語:length),求和、總計(外語:sum),圓周率(外語:pi)……

H. C語言命名規范

匈牙利命名法是微軟推廣的一種關於變數、函數、對象、前綴、宏定義等各種類型的符號的命名規范。匈牙利命名法的主要思想是:在變數和函數名中加入前綴以增進人們對程序的理解。它是由微軟內部的一個匈牙利人發起使用的,結果它在微軟內部逐漸流行起來,並且推廣給了全世界的Windows開發人員。下面將介紹匈牙利命名法,後面的例子里也會盡量遵守它和上面的代碼風格。還是那句話,並不是要求所有的讀者都要去遵守,但是希望讀者作為一個現代的軟體開發人員都去遵守它。

a Array 數組

b BOOL (int) 布爾(整數)

by Unsigned Char (Byte) 無符號字元(位元組)

c Char 字元(位元組)

cb Count of bytes 位元組數

cr Color reference value 顏色(參考)值

cx Count of x (Short) x的集合(短整數)

dw DWORD(unsigned long) 雙字(無符號長整數)

f Flags (usually multiple bit values) 標志(一般是有多位的數值)

fn Function 函數

g_ global 全局的

h Handle 句柄

i Integer 整數

l Long 長整數

lp Long pointer 長指針

m_ Data member of a class 一個類的數據成員

n Short int 短整數

p Pointer 指針

s String 字元串

sz Zero terminated String 以0結尾的字元串

tm Text metric 文本規則

u Unsigned int 無符號整數

ul Unsigned long (ULONG) 無符號長整數

w WORD (unsigned short) 無符號短整數

x,y x, y coordinates (short) 坐標值/短整數

v void 空

有關項目的全局變數用g_開始,類成員變數用m_,局部變數若函數較大則可考慮用l_用以顯示說明其是局部變數。

前綴 類型 例子

g_ 全局變數 g_Servers

C 類或者結構體 CDocument,CPrintInfo

m_ 成員變數 m_pDoc,m_nCustomers

VC常用前綴列表:

前綴 類型 描述 例子

ch char 8位字元 chGrade

ch TCHAR 16位UNICODE類型字元 chName

b BOOL 布爾變數 bEnabled

n int 整型(其大小由操作系統決定) nLength

n UINT 無符號整型(其大小由操作系統決定) nLength

w WORD 16位無符號整型 wPos

l LONG 32位有符號整型 lOffset

dw DWORD 32位無符號整型 dwRange

p * Ambient memory model pointer 內存模塊指針,指針變數 pDoc

lp FAR* 長指針 lpDoc

lpsz LPSTR 32位字元串指針 lpszName

lpsz LPCSTR 2位常量字元串指針 lpszName

lpsz LPCTSTR 32位UNICODE類型常量指針 lpszName

h handle Windows對象句柄 hWnd

lpfn (*fn)() 回調函數指針 Callback Far pointer to CALLBACK function lpfnAbort