1. 程式人生 > >C語言的識別符號

C語言的識別符號

在編寫程式的過程中,最讓人頭疼的問題往往是如何給變數、巨集和函式等起一個清晰而響亮的名稱。這些名稱就是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;
}

完整例子

參考文獻

  1. K.N. King 著,呂秀峰 譯. C語言程式設計-現代方法. 人民郵電出版社