當前位置:首頁 » 服務存儲 » c語言中存儲類別標識符號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中存儲類別標識符號

發布時間: 2022-07-16 07:36:15

c語言中類型標識符有哪些

C語言中的標識符
1) 標識符由字母、數字、下劃線「_」組成,並且首字母不能是數字.
2) 不能把C語言關鍵字作為標識符.
3) 標識符長度限制8字元.
(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。
4) 標識符對大小寫敏感.
5)標識符命名應做到「見名知意」
下面的標識符名是合法的:
year,Day,ATOK,x1,_ CWS,_change_to
而下面的標識符名是不合法的:
#123,.COM,$100,1996Y,1_2_3,Win3.2
如果你問的是關鍵字的話,參考下面的內容:
auto :聲明自動變數
short :聲明短整型變數或函數
int: 聲明整型變數或函數 long :聲明長整型變數或函數
float:聲明浮點型變數或函數
double :聲明雙精度變數或函數
char :聲明字元型變數或函數
struct:聲明結構體變數或函數
union:聲明共用數據類型
enum :聲明枚舉類型
typedef:用以給數據類型取別名
const :聲明只讀變數
unsigned:聲明無符號類型變數或函數
signed:聲明有符號類型變數或函數
extern:聲明變數是在其他文件正聲明
register:聲明寄存器變數
static :聲明靜態變數
volatile:說明變數在程序執行中可被隱含地改變
void :聲明函數無返回值或無參數,聲明無類型指針
if:條件語句
else :條件語句否定分支(與 if 連用)
switch :用於開關語句
case:開關語句分支
for:一種循環語句
do :循環語句的循環體
while :循環語句的循環條件
goto:無條件跳轉語句
continue:結束當前循環,開始下一輪循環
break:跳出當前循環
default:開關語句中的「其他」分支
sizeof:計算數據類型長度
return :子程序返回語句(可以帶參數,也可不帶參數)循環條件

⑵ C語言中的存儲類說明符有哪些各自的含義如何

inline int foo(int a, int b) { return a + b; }int main(int argc, char *argv[]){return(1,2);

*ANSI C, ISO/IEC C89/C90:標准中沒有inline關鍵字.

*GNU C89/C90:

1、static inline:函數名標識符的作用域為當前編譯單元(translation unit),允許其他編譯單元中有重名定義. 這里的inline建議編譯器,函數在被調用時可以直接展開函數體,但是否展開取決於編譯器.(譬如,如果優化級別為-O0,則必須按函數地址調用,此時編譯器會忽略inline請求,將函數編譯為普通函數;或者,出現了遞歸調用,編譯器也無法內聯這個函數)

2、inline:在當前編譯單元內,和static inline語義相同,都是建議編譯器在當前編譯單元內展開函數體(是否展開取決於編譯器). 但同時編譯器會對該函數生成一份普通函數的代碼,在其他編譯單元內可以調用,與普通的extern函數調用無異.

3、extern inline:相當詭異. 這樣的函數定義只為內聯而提供. 如果強行用普通函數調用方式調用該函數(譬如,優化級別為-O0,或者按函數指針調用),則鏈接器會認為存在另一個同名的普通函數. 如果沒有這個同名普通函數的定義,則鏈接器會報告找不到符號.

*ISO/IEC C99/C11:

1、static inline:和GNU C89/C90中的語義完全相同.

2、inline:很類似GNU C89/C90中的extern inline. 標准文檔中的解釋相當晦澀:允許(但不要求)編譯器在當前編譯單元內展開函數體(原文的描述是「相比正常的函數調用機制,讓內聯函數調用盡可能快」,而文檔下面的腳注中提到,可能的選擇是「內聯替換」,見ISO/IEC 9899:1999或ISO/IEC 9899:2011),是否內聯由編譯器設計者自行決定,同時也允許外部存在同名的普通函數定義. 經測試最新版本的Clang和GCC在標准-std=c99和-std=c11下會在可以內聯的情況下(例如優化級別為-O2)採用內聯版本.

3、但標准文檔中同時也規定了,若在函數聲明中加入extern,則相應的內聯函數定義成為所謂的外部定義,行為和GNU C89/C90的inline相同:在當前編譯單元中建議編譯器展開函數體,同時生成一份普通函數的代碼,在其他編譯單元中也可調用.

4、extern inline:標准文檔中未見extern inline的定義.

*GNU C99/C11:採用與ISO/IEC C99/C11相同的語義.

最新版本的Clang和GCC默認均採用GNU C11標准,因此會出現不優化代碼時找不到內聯函數符號的錯誤.

⑶ 在C語言中,存儲類別包括什麼

1、c語言中的存儲類型有static 、auto、extern、及register,函數默認的存儲類型應該是extern,意思是具有外部鏈接性的。一般來說,會通過extern來聲明函數。
2、比如下面的代碼,在1.c中定義一個函數,函數的聲明寫在1.h頭文件中,在2.c中通過添加1.h的頭文件,來聲明及調用函數f()。

//1.c
void f() { ; }
//1.h
extern void f();
//2.c
#include "1.h"
int main() { f();}

⑷ c語言中的標識符分幾類

C語言中的標識符分為三類:

一、關鍵字

關鍵字是用來標識文件中各個記錄的特定數據項目的值。

關鍵字是電腦語言里事先定義的,有特別意義的標識符,有時又叫保留字。

二、預定義標識符

預定義標識符是C語言中標識符兩種中的一種,在C語言中有特定的含義。

如函數「printf」是「格式輸出」的英語全稱加縮寫。

三、用戶標識符

每個C語言中的字要麼歸為關鍵字,要麼歸為標識符。而標識符分為預定義標識符和用戶標識符。

預定義標識符是C語言中系統預先定義的標識符,如系統類庫名、系統常量名、系統函數名。

預定義標識符具有見字明義的特點,如函數「格式輸出」(英語全稱加縮寫:printf)、「格式輸入」(英語全稱加縮寫:scanf)、sin、isalnum等等。

預定義標識符可以作為用戶標識符使用,只是這樣會失去系統規定的原意,使用不當還會使程序出錯。

(4)c語言中存儲類別標識符號擴展閱讀:

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)……

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

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

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

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

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

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

(5)c語言中存儲類別標識符號擴展閱讀

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

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

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

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

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

⑹ 在C語言中,全局變數的存儲類別是什麼

內存中供用戶使用的存儲空間分為代碼區與數據區兩個部分。變數存儲在數據區,數據區又可分為靜態存儲區與動態存儲區。
靜態存儲是指在程序運行期間給變數分配固定存儲空間的方式。如全局變數存放在靜態存儲區中,程序運行時分配空間,程序運行完釋放。
動態存儲是指在程序運行時根據實際需要動態分配存儲空間的方式。如形式參數存放在動態存儲區中,在函數調用時分配空間,調用完成釋放。

C語言中對變數的說明包括兩方面的內容:變數類型以及變數的存儲類型。變數類型如:int(整形),char(字元型)是用來說明變數所佔用的內存空間的大小。變數存儲類型用來說明變數的作用范圍。

⑺ c語言中標識符是什麼

C語言中的標識符只能由字母、數字和下劃線三種字元組成,且第一個字元必須是字母或下劃線。

標識符是用戶編程時使用的名字,比如指定某個東西、人,都要用到它,他或她的名字。在電腦語言中,對於變數,常量,函數,語句塊也有名字,統統稱之為標識符。

電腦的標識符如下:

知識擴展:

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

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

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

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

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

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

⑻ C語言中的標識符有哪些怎麼才算是合法的標識符

C語言規定,標識符以字母或下劃線開頭,後跟若干字母,下劃線或數字,大小寫字母組成的標識符是不同的,標識符的長度沒有限制.例如,以下標識符是合法的:a,x,x3,BOOK_1,sum5.
以下標識符是不合法的:3s,s*T,-3x,(bowy-1)

⑼ C語言各類符號意義以及用法

auto :聲明自動變數
short :聲明短整型變數或函數
int: 聲明整型變數或函數
long :聲明長整型變數或函數
float:聲明浮點型變數或函數
double :聲明雙精度變數或函數
char :聲明字元型變數或函數
struct:聲明結構體變數或函數
union:聲明共用數據類型
enum :聲明枚舉類型
typedef:用以給數據類型取別名
const :聲明只讀變數
unsigned:聲明無符號類型變數或函數
signed:聲明有符號類型變數或函數
extern:聲明變數是在其他文件中聲明
register:聲明寄存器變數
static :聲明靜態變數
volatile:說明變數在程序執行中可被隱含地改變
void :聲明函數無返回值或無參數,聲明無類型指針
if:條件語句 else :條件語句否定分支(與 if 連用)
switch :用於開關語句 case:開關語句分支
for:一種循環語句
do :循環語句的循環體 while :循環語句的循環條件
goto:無條件跳轉語句
continue:結束當前循環,開始下一輪循環
break:跳出當前循環
default:開關語句中的「其他」分支
sizeof:計算數據類型長度
return :子程序返回語句(可以帶參數,也可不帶參數)循環條件

⑽ C語言的標識符可分為哪些

在C語言中,標識符是對變數名、函數名、標號和其他各種用戶定義的對象命名。標識符的第一個字元必須是字母或下劃線,隨後的字元可以是字母、數字或下劃線。
標識符的長度可以是一個或多個字元,最長不允許超過32個字元。例如:
sore、number12、student_name等均為正確的標識符;
8times、price/tea、low!valume等均為不正確的標識符。
C語言中字母是區分大小寫的,因此score、Score、SCORE分別代表三個不同的標識符,必須注意的是,標識符不能和C語言的關鍵字相同,也不能和用戶自定義的函數或C語言庫函數同名。