C語言的識別符號
阿新 • • 發佈:2018-12-22
在編寫程式的過程中,最讓人頭疼的問題往往是如何給變數、巨集和函式等起一個清晰而響亮的名稱。這些名稱就是C語言中的識別符號。
C語言中合法的識別符號必須僅包含數字、字母或下劃線,且必須以字母或下劃線開頭。下例中length, _width和area2都是合法的識別符號,而2length以數字開頭,wid-th中間包含非數字、字母和下劃線的其他符號,都不是合法的識別符號。
/***********************************
* identifier.c *
*合法的識別符號與不合法的識別符號 *
***********************************/
#include <stdio.h>
int main()
{
float length = 10.0f;
float _width = 20.0f;
float area2 = length * _width;
printf("Area: %f\n", area2);
float 2length = 0.0f;
float wid-th = 0.0f;
return 0;
}
C語言中包含一些關鍵字,這些關鍵詞對編譯器而言具有特殊意義,也不能作為識別符號使用。C89中包含的關鍵字有32個,如下表
auto | double | int | struct |
---|---|---|---|
break | else | long | switch |
case | enum | register | typedef |
char | extern | return | union |
const | float | short | unsigned |
continue | for | signed | void |
default | goto | sizeof | volatile |
do | if | static | while |
C語言區分大小寫,字母序列相同而大小寫不同的識別符號被當作不同的識別符號。這樣的識別符號可以在相同的作用範圍內同時存在,表示不同的意義。下例在main函式中定義了3個變數Height, height和heiGHt,編譯正常通過,這3個識別符號用以指稱3個不同的變數。
/*************************************
*identifier1.c *
*區分大小寫 *
*************************************/
#include <stdio.h>
int main()
{
float Height = 3.0f;
float height = 5.0f;
float heiGHt = 10.0f;
printf("Height: %f\n", Height);
printf("height: %f\n", height);
printf("heiGHt: %f\n", heiGHt);
return 0;
}
為了增加程式的可讀性和可理解性,在一個團隊裡往往採用同一種識別符號的命名規範。例如下面就是幾條常用的規範:
- 巨集名稱。當識別符號作為巨集的名稱使用時其中的字母均大寫。巨集由預處理指令#define定義,在預處理過程中由其所表示的內容替換。常用於定義一些具有特殊意義、多次被使用的常量。
- 變數名稱。當識別符號作為變數的名稱時,若識別符號只包含一個單詞,則只使用小寫字母;若包含多個單詞,第一個單詞小寫其後每個單詞首字母大寫。
- 函式名稱。當識別符號作為函式的名稱時,若識別符號只包含一個單詞,則首字母大寫;若包含多個單詞,則每個單詞的首字母大寫。
下面是一個應用上述命名規範的一個簡單例子:
/*******************************
*identifier2.c *
*一個整體的例子 *
*******************************/
#include <stdio.h>
/*巨集定義,RATE為巨集名稱*/
#define RATE 0.05
/*函式定義,CalculateAmount為函式名稱*/
float CalculateAmount(int amount)
{
return amount * (1 + RATE);
}
int main()
{
/*變數定義,amount為變數名稱*/
float amount = 100.00f;
/*又一個變數定義,amountRateAdded為變數名詞*/
float amountRateAdded = CalculateAmount(amount);
printf("The amount is %f\n",amountRateAdded);
return 0;
}
參考文獻
- K.N. King 著,呂秀峰 譯. C語言程式設計-現代方法. 人民郵電出版社