c語言裡面的字串常量和字元常量有什麼區別

2021-03-04 08:49:07 字數 4423 閱讀 3221

1樓:匿名使用者

字串常量是乙個或多個字元組成的常量

比方說 乙個字串常量a 給它的初始值是 『abc123』,可以是乙個字元『5』構成

但是字元常量只能是乙個字元

比方說乙個字元常量 a 它的初始值為『1』,不能多於乙個字元的

2樓:匿名使用者

字串是以\0結束的

而字元常量是沒有的

3樓:笑熬將胡

字串常量和字元常量有什麼區別就是多個字元和單個字元的區別。

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

4樓:小哥

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

下面是常用字元的sacii

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

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

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

5樓:壬存邵代雙

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

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

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

6樓:like—耳機

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

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

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

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

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

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

祝你好運~

7樓:匿名使用者

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

8樓:微雨31初霽

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

9樓:月光下的日軍

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

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

10樓:小哥

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

下面是常用字元的sacii

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

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

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

11樓:靖蓄宇辰錕

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

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

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

在c語言中,字元型常量和字串常量有什麼區別

12樓:匿名使用者

字串對於字元 相當於 int型陣列對於int型變數

13樓:匿名使用者

字串常量 可以理解成

字元型常量

的陣列形式

請問c語言中 字串常量和字串有什麼區別

14樓:魔群領袖

字串是型別,存放一段字母或者任意符號的都是乙個字串。"abcda","fdasfaf"都是乙個字元,字串常量是乙個物件,char *p = "abvcd" p就是乙個字串常量指標,它的值就是乙個字串常量。它是乙個唯讀的值,不能唄修改

15樓:匿名使用者

就是乙個常量乙個變數的區別。

常量一般在定義時使用const來修飾,定義後不能改變其值。

16樓:魚飛

char *p = "abvcd" ;定義了乙個指向字串常量首位址的指標p

char p = "abvcd";則定義了乙個字元陣列

在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),下劃線(_),區分大小寫,還有字元數限制等;

c語言字串陣列逆序問題,C語言字串陣列逆序問題

第乙個問題 字串陣列的長度不包括最後的 0 第二處問題 1 把 for i 0 str1 i 0 i 後面加上乙個分號 2 把for i 0 str1 i 0 i 後面的花括號去掉 3 再把 puts str1 前面的花括號去掉就可以了 程式如下 include stdio.h int main c...

c語言,關於字串

mark 這個分析了下還挺複雜 想想先 這樣子話幾乎是沒有辦法實現的。因為哪一些字元屬於子串是不確定的,big可能是乙個子串,igb可能是乙個子串,gba可能是乙個子串。不過當你確定你需要查的子串時,可以進行判定的。比如查詢這個字串裡有多少個 big 我這裡提供乙個思路參考。這是乙個字串 strin...

C語言字串陣列

不是的,printf裡 s是通過後面的name定址到該記憶體單元,然後從該記憶體單元開始讀取資料,知道 0 字元結束。所以會把你輸入的東西輸出 是的,但是 s的含義是,把從這個位址開始的內容當作ascii碼依次輸出來,直到碰到 0 就是一種機械的做法 比如 int a printf s a 會輸出a...