A. 在c語言中標識符和變數名有什麼區別
C語言中把標識符分為三類:關鍵字,預定義標識符,用戶自定義標識符。
用戶自定義標識符,包括變數名、常量名、對象名、函數名、類型名等等。
也就是說,變數名,是C語言標識符的一種。
C語言的標識符是由字母、數字、下劃線組成,並且數字不能在首位,嚴格區分大小寫。
變數名同樣遵循這一規則,同時不能使用關鍵字、預定義標識符和已定義標識符。
另外要注意,C語言和C++對標識符和變數名的長度約束不同,C89標准下,c語言的標識符(包括變數名)最多隻能8個字元;新標准(C99、C++98)之後,允許更大長度,標准有所不同,最常見的限制是32個字元,一般都推薦遵守這個限制,防止在不同編譯環境下產生不兼容問題。
B. C語言中結構體類型名與變數名區別
結構體名字是類型名,變數名是實體名,一個類型可以有許多實體。
具體操作,舉例講解如下:
1.結構體類型定義
定義方式1:
Typedef
struct
LNode
{
int
data;
//
數據域
struct
LNode
*next;
//
指針域
}
*LinkList;
定義方式2:
struct
LNode
{
int
data;
//
數據域
struct
LNode
*next;
//
指針域
};
Typedef
struct
LNode
*LinkList;
以上兩個定義方式是等價的,是將*LinkList定義為struct
LNode類型,即LinkList被定義為一個類型名。這樣就可以用LinkList來定義說明新的變數了,如:
LinkList
L;
即將L定義為struct
LNode類型的指針變數
2.結構體類型變數定義
定義方式1:
struct
LNode
{
int
data;
//
數據域
struct
LNode
*next;
//
指針域
}LnodeA;
定義方式2:
struct
LNode
{
int
data;
//
數據域
struct
LNode
*next;
//
指針域
};
struct
LNode
LnodeA;
以上兩個定義方式也是等價的,這樣就將LnodeA定義為一個truct
LNode類型的變數,即LnodeA為一個truct
LNode類型的變數名。
C. 【C語言】標示符,變數名分別指什麼有什麼用
標示符,
一組用來給變數起名的字母、字元.
標識符的作用是規范化程序命名,從而編譯器能夠識別.一個使用任意字元、任意字元組合標識
符的語言是不可能實現的(編譯器).
變數名
變數名就是變數的名字.
有變數而變數無名字,程序員無法使用.
D. 在C語言中標識符和變數名有什麼區別
變數是在C語言的基本語法對象。語言本身的變數名,依賴范圍(可變的源代碼文件和函數,狹窄的命名空間)唯一標識一個變數。
變數名是一個標識符在C語言中,用來區分不同變數的語義。
地址是連續的非負整數值的存儲器空間的位置的集合。對於一個特定的地址,這是一個非負的整數,並通常表示的單元(在存儲器的大小通常為1個位元組)的位置。操作中,存儲器中的內容的任意位置可以包含明確地址的機器指令來實現。的連續出現指定的相繼有序的存儲區的內容可以被稱為「值。」
C語音可以明確地解決分配在編譯的語法對象稱為左值。 &運算符的左值的地址。變數在編譯時將被分配到一個IP地址是屬於左值。如定義字元A,INT B,你和一個char型變數,b表示一個int變數b的地址。大小(字元)== 1,char變數佔用一個位元組,一個地址變數實際上是一個運行周期所佔用,而內容的存儲單元地址和一個值。是sizeof(int)> 1(通常是32位環境中,4)的B&B本身所佔用的地址空間不說,但簡單的1個位元組之一。 b這個變數反映對象的語義,首先解決的是sizeof(int)和BA連續有序位元組的內存空間的內容(以位元組為單位,這個值的內容的一部分,C語言不明確,根據編譯器環境中),被調用時,b的值。
指針在C語言中是一類變數(同時具有了更強的類型比一般的整型變數的特性,如一定要防止濫用為目的的計算限值代表的非負整數的地址)。相應的常量稱為地址常量。
----
詳細過程:
----
編譯期間:編譯時,編譯器的源代碼,該標識符的變數名和它的類型,大小的空間,從屬范圍在符號表中的數據結構存儲在此的信息,而分配給變數一個唯一的地址(一個變數可能佔用多個連續的,有序的存儲單元,則該地址的存儲單元的第一地址),用於區分不同的變數。成的操作的變數的地址上的操作的變數的編譯器的源代碼,編譯的目標指令,並且將其輸出到對象代碼的文件,並然後將其輸出由鏈接器的鏈接的可執行的程序文件。
運行的可執行程序運行時,系統根據其內容和指令包含地址刪除,打開其他程序中指令的地址的變數對應的指令的內存空間面積(請參考本處理本身,或導致到此地址)的已知長度的值的變數的地址使用。
----
至於的變數的值(內容),尤其是對應於地址(一個或多個)的數量的運行是連續的,有序的存儲單元的內容。通過後,運行編譯後的可執行程序可以判斷,編譯器就不會,不能幹預(恆定值倒是可以寫對象的代碼)。
----
一般的編譯過程中產生的目標程序,而不是一個變數名(一般存在的函數名使用的鏈接)。 ====
[原創應答組]
E. C語言中,變數到底是個什麼概念
C語言中的變數是指在程序運行時其值可以改變的量,變數的功能就是存儲數據。每個變數都有特定的類型,類型決定了變數存儲的大小和布局,該范圍內的值都可以存儲在內存中,運算符可應用於變數上。
變數來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。在指令式語言中,變數通常是可變的;但在純函數式語言(如Haskell)中,變數可能是不可變(immutable)的。
(5)在c語言中變數名是什麼意思擴展閱讀
常量與變數
常量其值不可改變,符號常量名通常用大寫。
變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
變數的聲明有兩種情況:
1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。
2、另一種是不需要建立存儲空間的,通過使用extern關鍵字聲明變數名而不定義它。 例如:extern int a 其中變數 a 可以在別的文件中定義的。
F. C語言裡面的變數是什麼意思,
變數是指以標識符為名字,其值可以改變的量。一個變數代表計算機內存中的某一存儲單元,該存儲單元中存放的數據就是變數的值。如程序中有變數a,則a為某個存儲單元的名稱,用戶對變數a進行的操作就是對該存儲單元進行的操作;給變數a賦值,就是把數據存入變數a所代表的存儲單元中。
G. C語言中,什麼是變數和變數名它們的區別是什麼
變數和變數名當然有區別啊。氣質這種區分值相對的。下面舉例給你說說吧!
假如定義一個變數 int a;
那麼a是變數名,也可以說a是變數。變數是有特定的值的,而變數名只是變數的一個代號罷啦!它們之間沒有很清楚的界限,只是相同的東西在不同環境,和情況下理解的不同而已
H. 在C語言源程序中,一個變數代表什麼
1.
變數是一個名字映射到一個存儲區域,方便我們的程序操縱。在C中的每一個變數有一個特定的類型,它決定了變數的存儲器的大小和構造范圍。變數名可以由字母,數字和下劃線字元。它必須以字母或下劃線開始。大寫字母和小寫字母是不同的,因為C語言是區分大小寫的。
2.
基本變數類型:
Type
Description
char
Typically
a
single
octet(one
byte).
This
is
an
integer
type.
int
The
most
natural
size
of
integer
for
the
machine.
float
A
single-precision
floating
point
value.
double
A
double-precision
floating
point
value.
void
Represents
the
absence
of
type.
C編程語言還可以定義各種其他類型的變數,如枚舉,指針,數組,結構,聯合等。
I. c語言的變數名
變數名不佔空間
變數:用來標識(identify)一塊內存區域,這塊區域的值一般是可以更改的,這就是它「變」的由來,但是我們可以通過使用如const等一些修飾符號來限定這一內存區域的操作特性(characteristic),即變數的操作特性。用const修飾的使變數不能更改的就和常量一樣的變數叫做常變數。
變數名:是一個標識符(identifier),用來指代一塊內存區域,即變數,使用變數使我們操作內存以區域(area),以塊(block)為單位,提高了方便性。
你的機器代碼中,是不會出現變數名的;變數名是給我們程序員操作內存來使用的。
想想在匯編年代,沒有變數名,我們操作內存,都是用地址來直接操作的,還要控制區域大小;當然匯編語言已經有了簡單的變數。
對於編譯器,它會搜集我們的變數名,比如我們定義了一個全局的int a;那麼編譯器都為我們做了什麼呢?
它會為程序預留4個位元組的空間(假設在32位平台),並把我們的變數名「a」保存進符號表,並用這個符號表的索引對應實際的空間。
如果下面出現b = a;那麼它就會根據符號表找到變數的真正的物理位置,取得它的值,賦給b。
這是寫編譯器需要做的,我們需要建立符號表。
但是實際在匯編層次上,操作的都是地址而已,不存在任何名稱了。
J. c語言的變數定義
C語言中變數遵循「先定義後使用」的原則:
1、定義變數的格式:數據類型 變數名;
首先要強調的一點是:變數的定義是一條語句,每條語句都是以分號結尾的。故定義完變數,後面不要漏掉「;」分號。
在變數定義中,「數據類型」表示想要存儲什麼類型的數據就定義什麼類型的變數。
如想要存儲整數就定義成 int 型;想要存儲小數就定義成 float 型或 double 型;想要存儲字元就定義成 char 型等等。
「變數名」就是你想給這個變數起個什麼名字,通常都是用字母、數字與下劃線組合而成。比如:
「int i;double price;double goods_price2」等等。
就表示定義了一個整型變數 i、小數型變數price、goods_price2;
2、變數定義完成後,接下來就是使用變數,為變數賦值。
將一個值放到一個變數中,這個動作叫「賦值」。通俗點講,「給變數賦值」意思就是將一個值傳給一個變數。
賦值的格式是:
變數名 = 要賦的值;
它的意思是將=右邊的數字賦給左邊的變數。比如:
i = 3;
這就表示將 3 賦給了變數 i,此時 i 就等於 3 了。
3、變數的定義和賦值,可以分成兩步寫,也可以將它們合成一步,而且事實上,在實際編程中用得最多的也是合二為一的寫法。
形式如下:
數據類型 變數名 = 要賦的值;
比如:int i = 3;
就表示定義了一個變數 i,並把 3 賦給這個變數。它與
int i;
i =3;
是等價的。
在定義變數時也可以一次性定義多個變數,比如:
int i, j;
這就表示定義了變數 i 和 j。這里需要強調的是,當同時定義多個變數時,變數之間是用逗號隔開的,千萬別寫成分號。這是很多新手最容易犯的錯誤,即將逗號和分號記混了。
同樣也可以在定義多個變數的同時給它們賦值:
int i = 3, j = 4;
中間還是用逗號隔開,最後別忘記輸入分號。
最後需要注意的是,在較老的 C89/C90 標准(也稱 ANSI C 標准)中,變數只能在程序的開頭定義,或者說變數定義的前面不能有其他非聲明或非定義的語句。
(10)在c語言中變數名是什麼意思擴展閱讀:
在主回答中,提到了變數定義時,變數名通常都是用字母、數字與下劃線組合而成,但是實際上,變數名也不是隨便組合的,變數定義需要遵循一定的規范,否則容易產生歧義,影響整體程序代碼 的可讀性。
所以在定義變數的時候,要注意以下命名規范:
(1)、變數名的開頭必須是字母或下劃線,不能是數字。實際編程中最常用的是以字母開頭,而以下劃線開頭的變數名是系統專用的。命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。
標識符最好採用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太復雜,用詞應當准確。
(2)、變數名中的字母是區分大小寫的。比如 a 和 A 是不同的變數名,num 和 Num 也是不同的變數名。當標識符由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫。
比如: int CurrentVal;
這樣的名字看起來比較清晰,遠比一長串字元好得多。
(3)、變數名絕對不可以是C語言關鍵字,不能有空格。
(4)、變數名的長度應當符合「min-length && max-information」原則。
C 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名MaxVal 就比MaxValueUntilOverflow 好用。標識符的長度一般不要過長,較長的單詞可通過去掉「母音」形成縮寫。
另外,英文詞盡量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。