c語言,字元常量與字串常量有什麼區別,求詳解

2021-03-12 16:13:12 字數 5519 閱讀 1144

1樓:戚風

首先,它們都是常量,所以不可以被改值。

字元常量永遠是一個個體,也就是它只是一個字元而已。

而字串常量是一個群體,就像人們說的一句話,字串常量中是由若干個字元常量構成的,當然可以沒有,不過系統會給其加一個『\0』,至於為什麼要加,找d.m.ritchie。

就像人們說的話一樣,字元常量是單詞,而每一句話的後面都要加上句號,表示這句話說完了,這個大概是『\0』擬人的一個作用吧,我這麼認為。

另外字元常量其實對於計算機來說是一個二進位制數,也就是它是一個數值,所以你可以對一個字元常量來進行邏輯運算,比如『b』 - 『a』 = 1。

字串常量是話語,作為條件的判斷以及顯示器輸出的物件。

祝你好運~

2樓:

字元常量用單引號括起來,'a','a'等,表示單個字元

字串常量用雙引號括起來,"abcd","abcd"等,表示由若干字元和最後一個結束字元'\0'組成的字串。譬如"abcd",除了'a','b','c','d'這四個字元外,最後還有一個'\0'結束字元。實際佔5個字元位置。

c語言中字元常量與字串常量有什麼區別?

3樓:小哥

字元常量:在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量;單引號中的空格也是;字元常量只能包含一個字元;字元常量只能用但括號括起來。

下面是常用字元的sacii

'a』--'z' 97------122'a』--'z' 65-------90'0'---'9' 48-------57字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

區別:'z'是字元常量,佔一個位元組;"z"是字串常量,佔兩個位元組,其中一個放'\0'。

它們兩個的用法都明白了,區別就知道了

4樓:壬存邵代雙

字元常量是一個字元,如'a','4','\0','\b','\142'等等,字串常量可以是一個字元"n",也可以沒有字元('\0'),更多的是多個字元。

作為字元常量,二者間沒有區別,在c++中,為了方便,將字串定義成一個類string,但用char

*說明和定義的串常量仍然是一樣的,沒有任何區別。

5樓:like—耳機

首先,它們都是常量,所以不可以被改值。

字元常量永遠是一個個體,也就是它只是一個字元而已。

而字串常量是一個群體,就像人們說的一句話,字串常量中是由若干個字元常量構成的,當然可以沒有,不過系統會給其加一個『\0』,至於為什麼要加,找d.m.ritchie。

就像人們說的話一樣,字元常量是單詞,而每一句話的後面都要加上句號,表示這句話說完了,這個大概是『\0』擬人的一個作用吧,我這麼認為。

另外字元常量其實對於計算機來說是一個二進位制數,也就是它是一個數值,所以你可以對一個字元常量來進行邏輯運算,比如『b』 - 『a』 = 1。

字串常量是話語,作為條件的判斷以及顯示器輸出的物件。

祝你好運~

6樓:匿名使用者

字元常量可以用%c的格式或putchar函式輸出,字串常量不可以,另外在記憶體中佔得位元組不一樣

7樓:微雨31初霽

字元常量是一個字元,在程式中字元是用單引號括起來的。字元常量由0個或若干個字元組合而成,在程式中字串是用雙引號括起來的,在儲存時系統自動在字串最後面加一個結束符"\0"

8樓:月光下的日軍

都是常量,不能修改,區別是字元常量是一個字元,用『 』單引號,而字串常量用雙引號,如「a」,雖然是一個字元,但他是字串常量。

字元常量與字串常量有什麼區別?

9樓:愛上夜色深沉

字串常量是以雙引號引起來的資料,比如說"12343" "chinere" "這是一個字串常量"等等

是以'\0'為結束標誌的;也是就是說比如"1234"其實長度是5,因為其實還有一個隱藏的'\0';

而字元常量是單引號引起來的資料,比如說'a' '7' '百';在c語言中字元的長度是一個位元組,所以

如果是ascii碼錶中的字元其值就是0到255範圍內的數值,如果是漢字,那麼你看看gbk編碼,是用兩個位元組長度來表示漢字的,這是如果在c語言中,那麼久需要連個位元組才是完整的一個漢字了

10樓:員映諸芹

字元常量:在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量;單引號中的空格也是;字元常量只能包含一個字元;字元常量只能用但括號括起來。

下面是常用字元的sacii

'a』--'z'

97------122

'a』--'z'

65-------90

'0'---'9'

48-------57

字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

區別:'z'是字元常量,佔一個位元組;"z"是字串常量,佔兩個位元組,其中一個放'\0'。

它們兩個的用法都明白了,區別就知道了

11樓:逄富前曼雁

二者都是常量,區別在於使用方法不同

字元常量使用時直接拿變數使用

而字串常量由於含不止一個字元,不易使用其全部字元內容,所以使用時通常是使用它的首地址,即指標

12樓:遇晤夏安宜

單引號裡一個字元為字元常量,『a』雙引號裡一串字元為字串常量,「a」,「abc」沒錯

字串實際上就是

"字元陣列",字元就是且只能為一個位元組,而字串可以是多個,在系統中儲存時,為了識別是否為字串,系統預設為字串加上「\0".所佔記憶體實際=字元數+1

13樓:薊君向新文

字元常量只有一個字元,如'a';

字串常量是一個字元陣列,包括一串字元和一個結束標記0.

14樓:堅壁疏曉燕

1)形式上:

...字元常量是單引號引起的一個字元

...字串常量是雙引號引起的若干個字元

2)含義上:

...字元常量相當於一個整形值(ascii值),可以參加表示式運算...字串常量代表一個地址值(該字串在記憶體中存放位置)3)佔記憶體大小

...字元常量只佔一個位元組

...字串常量佔若干個位元組(至少一個字元結束標誌)

c語言中字元常量與字串常量有什麼區別?

15樓:小哥

字元常量:在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量;單引號中的空格也是;字元常量只能包含一個字元;字元常量只能用但括號括起來。

下面是常用字元的sacii

'a』--'z' 97------122'a』--'z' 65-------90'0'---'9' 48-------57字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

區別:'z'是字元常量,佔一個位元組;"z"是字串常量,佔兩個位元組,其中一個放'\0'。

它們兩個的用法都明白了,區別就知道了

16樓:靖蓄宇辰錕

字元常量是一個字元,如'a','4','\0','\b','\142'等等,字串常量可以是一個字元"n",也可以沒有字元('\0'),更多的是多個字元。

作為字元常量,二者間沒有區別,在c++中,為了方便,將字串定義成一個類string,但用char

*說明和定義的串常量仍然是一樣的,沒有任何區別。

在c語言中,常量與變數有何區別呢?字元常量與字串常量有何區別呢?

17樓:古古

常量就是不變

bai的量。du

變數顧名思義就是可以變化zhi的,這個dao變數是一個儲存空間,內裡面可以放1,2,3等等,但是常量容就不行了,你一開始在這個儲存空間裡放了1就不能再放2了,變數或者常量的名字是指向這個儲存空間的地址。

字元常量是一個字元,而字串 顧名思義是一串字元。後面都有常量這個修飾,也就是不可以變化的字元常量或者字串常量。

18樓:萬楊

常量就是固定不變bai

的量,du不能通過函式進行修zhi改的變數;

dao變數是可以通內

過賦值,函式等手段進容行修改的一個變數。

字串常量:char *a = "hello world";首先,作業系統在編譯器規劃記憶體方案中的的文字常量區分配一段記憶體,儲存"hello world"字串,然後在棧區分配一個記憶體,儲存"hello world"字串所在記憶體的首地址,字串常量一旦分配是不允許修改的。

字元常量:char b = "hello world";作業系統在編譯器規劃的記憶體方案中的棧區分配一段連續記憶體空間(12個位元組),儲存"hello world"字串,字串常量就相當於字元的一個陣列,是可以修改的。

19樓:封魔閃神的宣告

常量的值不能改變,變數可以。

字元是一個字,字串是一個字元陣列。

20樓:匿名使用者

變數可以進行賦值,常量的值是固定的吧。。我也不是太清楚

c語言中字元常量 字串常量和識別符號的區別

21樓:匿名使用者

字元常量是單引號括起來的,如'a'。也可以認為是一個int;字串常量是雙引號括起來的,如"abc"。是以\0結尾的字元陣列;標示符就是常量或者變數的名字,不用帶任何引號。

22樓:匿名使用者

c語言中只要是常量就表示它的值是無法修改的,如:

const unsigned char a =0; //用const關鍵字宣告瞭就表示a是個常量,其值在定義的時候就必須確定,後期無法修改,a的值等於0無法再修改。

unsigned char a =0 //這裡的a就是變數,雖然定義的時候賦予了值0,但由於它是一個變數所以在後期使用中可以隨意修改其值。

宣告是識別符號?變數的名字,常量的名字,巨集定義的名字,函式名都可以說是標符。

const char a=『a『或a=『b'』或a= 'x' 都是字元常量,長度為1個位元組,因為加了const所以值不能修改

const unsigned char p =「0123abx」就是一個字串常量,因為加了const所以值不能修改

23樓:匿名使用者

字串常量是用雙引號(「」)括起來的一個或多個字元組成。字元常量存放在記憶體中佔一個位元組的空間標示符是由若干個字元組成的字元序列,用來命名程式中的一些實體。可用作常量名、變數名和函式名等;標示符有它特定的命名規則,如必須是a~z或a~z、數字(0~9),下劃線(_),區分大小寫,還有字元數限制等;

字元常量與字串常量有什麼區別字元常量和字串常量有什麼區別?

字串常量是以雙引號引起來的資料,比如說 12343 chinere 這是一個字串常量 等等 是以 0 為結束標誌的 也是就是說比如 1234 其實長度是5,因為其實還有一個隱藏的 0 而字元常量是單引號引起來的資料,比如說 a 7 百 在c語言中字元的長度是一個位元組,所以 如果是ascii碼錶中的...

關於字串常量賦值給變數,關於字串常量賦值給變數

首先,字元變數來ch只能儲存一個字自符,你把一堆的字串賦值給它,肯定不行,至於說的加個const只是說明這是個常量字元,字串還是一堆而不是一個字元,字元變數ch肯定還是儲存不了。正確的是char ch 字元陣列 或者char ch。字元指標 建議先去把字元變數,字元陣列,字串,字元指標這些基本概念弄...

c語言 陣列與字串 程式設計題,C語言 陣列與字串 程式設計題

include int s int a 100 100 int x,int y min a 0 k p 0 for j 0 j int main printf 對角線之和為 d n sum return 0 include int main for i 0 i printf 轉置矩陣為 n for ...