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

2021-03-19 18:24:18 字數 3966 閱讀 3232

1樓:魔群領袖

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

2樓:匿名使用者

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

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

3樓:魚飛

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

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

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樓:匿名使用者

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

11樓:匿名使用者

字串常量 可以理解成

字元型常量

的陣列形式

c語言中 所說的字元常量和字串常量是什麼意思?

12樓:匿名使用者

一個字元常量就是一個能在計算機裡表示的字元用單引號括起來,比如說'a','b' '9','('等等,字串就是一個字元序列,用雙引號括起來比如說 「yujihui」,"abcdefg","6985%^(",就是一個字串常量。

13樓:匿名使用者

字元常量使用單引號引用,其中只能包含一個字元,例如'a'是一個字元常量,表示字母a

'abc'這樣的就是錯誤

字元常量實質上是一個8位的整數,ascii編碼例如你可以試一試printf("%d",'a');輸出'a'的ascii碼

字串常量使用雙引號引用,是一個字元的序列其中可以包含0個,1個或多個字元

比如"hello world"是一個字串常量在c語言中,沒有字串的資料型別,字串是以陣列的形式存在記憶體之中,通過指向第一個字元的指標來進行操作

例如char s_array=;

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

14樓:古古

常量就是不變

bai的量。du

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

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

15樓:萬楊

常量就是固定不變bai

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

dao變數是可以通內

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

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

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

16樓:封魔閃神的宣告

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

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

17樓:匿名使用者

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

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

18樓:匿名使用者

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

19樓:匿名使用者

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所以值不能修改

20樓:匿名使用者

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

c符串擷取,c 字串擷取

沒理解你的具體意思,不過擷取字串可以用substring方法。先indexof查詢到死的部分的位置再擷取 string str e tws tws ui print 2013122423 picture picture string str1 str.substring 0,str.indexof ...

C語言字串

錯誤在註釋中給出了 程式正確執行 include void main else if str i 等號是 是賦值 else if str i 等號是 是賦值 j letter blank gantan printf n d n j 先分析一下你的 for i 0 str i 0 i 你應該改成 fo...

C語言字串,求大佬,C語言字串陣列的問題

在語句for j 0 s j 0 j 中,j 記錄的是串s的字元個數,結束該迴圈時,s j 恰好是 0 在接下來的for迴圈中,第一個j 後,s j 是串s的最後一個字元,而i為0,迴圈體將s 0 與s j 進行交換,第二個j 是正常遞減,以便與i 相對應,交換s i 和s j 沒那個程式之類執行不...