什麼是字串常量和字串變數啊,字元常量和字串常量到底有什麼區別啊?

時間 2021-10-14 21:21:19

1樓:寫在楓葉上的故事

字串常量是一對雙引號括起來的字串行。字元常量可以賦值給字元變數,如"char b='a';",但不能把乙個字串常量賦給乙個字元變數,同時也不能對字串常量賦值。

字串變數是存放字元常量的變數,其取值是字元常量,即單個字元。字元變數的型別說明符是char。每個字元變數被分配乙個位元組的的記憶體空間,因此只能存放乙個字元。

並且字元值是以ascⅱ碼的形式存放在變數的記憶體單元之中的。

擴充套件資料字串常量的儲存:

字串中的字元依次儲存在記憶體中一塊連續的區域內,並且把空字元『 \0』自動附加到字串的尾部作為字串的結束標誌。故字元個數為n的字串在記憶體中應佔(n+1)個位元組。可以輸出字串,例如:

printf("how do you do.");

字串變數的說明:

1、字元變數在記憶體中佔乙個位元組。

2、在記憶體中,是把字元對應的ascii碼值放到儲存單元中。

3、字元型資料與整型資料之間可以通用。

2樓:伯穎然

字串常量就是指單 雙引號引起的若干個字元,一串字元,在程式執行過程中不會發生變化

字串變數就是指在程式執行過程中會發生變化的,但是又不存在的字元組合

3樓:來自晴川閣舒心的冰洲石

字串變數和字串常量的意思相差很多

4樓:匿名使用者

定義:括在一對雙引號之內的字串行或轉義字元序列稱為字串常量。

例如:「how are you!」 「a」 「*abc\n\t」

它是不可以改變的.例如:

char *p="ni hao!";

如果你試圖改變指標所指向的內容是會報錯的.

例如:(*p)='h';//執行的話會報錯因為字串常量是放在靜態儲存區的,這部分內容是不能修改的。

字串變數:在c中是沒有這個概念的,c中如果想將乙個字串存放到變數中,必須使用字元陣列,就是用乙個字元型陣列存放乙個字串,例如:

char data[10]="china";這時候,這個字元陣列存放了乙個字串,它是可以改變的,

例如:data[0]='m';這種操作都是可以的。

大概意思,就這些了,不清楚的可以hi我.

字元常量和字串常量到底有什麼區別啊?

5樓:蛙家居

字元常量代表乙個不可變化的固定數值值,這個字元出現就代表這個數值;字元變數可以存放定義型別的數值,而這個數值是可以變化的。

一、字元常量:

(1).定義:用單引號括起來的單個字元或轉義字元\

(2)轉義字元  反斜線後面跟著字元或乙個**值表示

二、字元常量與字串常量

(1)字串常量不允許賦值給字元常量;

例如char a=」a」;錯誤字串只能由指標陣列表示 其他不能表示字串;

(2) 字元』1』和整數1是不同的概念:字元』1』只是代表乙個形狀為』1』的符號,需要時按原樣輸出,在記憶體中以ascii碼形式儲存,佔1個位元組。整數1是以整數儲存方式(二進位制補碼方式)儲存的,佔2個或4個位元組。

(3) 字元型變數在記憶體中佔乙個位元組,由於儲存的是字元的二進位制ascii碼,與整型資料儲存方式類似,字元型資料和整型資料可以相互運算。

6樓:

形式上: 字元常量是單引號引起的乙個字元;

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

含義上: 字元常量相當於乙個整型值,可以參加表示式的運算;

字串常量代表乙個位址值(該字串在記憶體中存放的位置);

佔記憶體大小:字元常量只佔乙個位元組;

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

7樓:匿名使用者

區別在乙個是字元,乙個是字串

字元都是單個的

字串是多個字元的集合

8樓:匿名使用者

字串在計算機儲存中結尾比字元多乙個「\0」;

比如「a 」是字元,而「a \0」是字串。

9樓:

字元是乙個的,例如'a' , '1', '+' 字串是一或多個的 "a" ,"b" ,"abc1"

10樓:

字元常量後面沒有\0

而字串常量後面有\0

11樓:匿名使用者

a 和 ab

也可以是'' 和""的區別

字元常量與字串常量的區別是什麼

12樓:匿名使用者

1、形式不同:

字元常量是單引號引起的乙個字元;字串常量是雙引號引起的若干個字元。

2、含義不同:

字元常量相當於乙個整型值,可以參加表示式的運算;字串常量代表乙個位址值(該字串在記憶體中存放的位置)。字元常量可以賦值給字元變數,如"char b='a';",但不能把乙個字串常量賦給乙個字元變數,同時也不能對字串常量賦值。

3、佔記憶體不同:

字元常量只佔乙個位元組;字串常量佔若干個位元組,(至少乙個字元結束標誌)。不佔據任何儲存空間屬於指令的一部分,編譯後不再更改。字串常量是一對雙引號括起來的字串行。

13樓:僕菱華橋清

乙個是字元,乙個是字串,字元在進行運算時是當整數處理的,字串不能參與運算,字串隱含了『\0'這個字元,因此它有兩個字元,字串本身是個位址等等

14樓:

字元常量 長度只有 1位元組 (1 byte),是整型量,例如 'a','\n'. 數值等於它的ascii值.

可以用於整型表示式。

字串常量 長度可以不只1位元組,是char 陣列,預設以 "\0" 結束。例如 "abc123".

通常要用str...函式來處理,例如 strcmp(),strcpy(),strlen().

15樓:來自居庸關粉妝玉琢的珍珠梅

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

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

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

16樓:

字元常量只是乙個字元,佔8位,字串常量佔若干個8位

17樓:匿名使用者

字元型常量是指僅含單個ascii字元的常量有兩種表示方法

1. 單撇號

如 'a' '$'

2 轉義字元

如 '\n' '\0'

儲存上佔 1位元組 存放於字元型變數中

可以與整數混合運算

字串常量是0個或多個字元的序列

用 雙撇號表示

如 「981650981725」

儲存上 等於字元數量+1 因為系統預設追加零字元 存放於字元型陣列中

18樓:匿名使用者

字元常量是單引號,字串常量是雙引號

19樓:匿名使用者

什麼一串乙個的我就不說了,說點隱蔽的

1.char a = 'k' a佔乙個位元組char a = "k" a佔兩個位元組

c在定義字元常量和字串變數的時候有不同,會在字串變數的末尾加上『\0』

2.char a = '1';這裡的a是乙個變數,傳值,修改的規則都和int一致

char* a = 」123「;這裡的a是乙個指標,函式傳值func(a)傳的是指標,不是」123「這個字串

還有不明白的385749807

20樓:匿名使用者

字串是一連串的字元

字元是單個的

未結束的字串常量,ASP 未結束的字串常量

程式不完整!if request action login thenusername request username password request password set rs server.createobject adodb.recordset rs.open sql,conn,3,3 ...

c語言,字串常量」t」name address n

娛樂小八卦啊 c語言,字串常量 t name address n 的長度為15。strlen hello word 字串為 hello word 這種字串常量,系統會在其後自動補上 0 但是求字串長度的函式strlen 只要遇見 0 就會返回函式值,0 不算在其中。所以返回值為10 空格也算乙個字元...

C 給定字串,新增若干字元,使得字串變為回文字串,請問怎樣能讓這個字串最短

墨汁諾 include include using namespace std bool ishw const string str char str 100 scanf s str if judge str printf yes n else 對於ab字串,本身不是回文串 反過來是字串 ba 但是...