1樓:秒懂百科
字串常量:一對雙引號括起來的字元序列
2樓:
字串常量是由一對雙引號括起的字元序列。例如: "china" , 「c program」 ,
"$12.5" 等都是合法的字串常量。
字串常量和字元常量是不同的量。它們之間主要有以下區別:
1) 字元常量由單引號括起來,字串常量由雙引號括起來。
2) 字元常量只能是單個字元,字串常量則可以含一個或多個字元。
3) 可以把一個字元常量賦予一個字元變數,但不能把一個字串常量賦予一個字元變
量。在c語言中沒有相應的字串變數。這是與basic 語言不同的。但是可以用
一個字元陣列來存放一個字串常量。在陣列一章內予以介紹。
4) 字元常量佔一個位元組的記憶體空間。字串常量佔的記憶體位元組數等於字串中位元組數
加1。增加的一個位元組中存放字元"\0" (ascii 碼為0)。這是字串結束的標誌。
例如:字串 "c program" 在記憶體中所佔的位元組為:
c p r o g r a m \0
字元常量'a'和字串常量"a"雖然都只有一個字元,但在記憶體中的情況是不同的。'a'在記憶體中佔一個位元組,可表示為:a"a"在記憶體中佔二個位元組,可表示為:a \0
字元常量與字串常量的區別是什麼
3樓:匿名使用者
1、形式不同:
字元常量是單引號引起的一個字元;字串常量是雙引號引起的若干個字元。
2、含義不同:
字元常量相當於一個整型值,可以參加表示式的運算;字串常量代表一個地址值(該字串在記憶體中存放的位置)。字元常量可以賦值給字元變數,如"char b='a';",但不能把一個字串常量賦給一個字元變數,同時也不能對字串常量賦值。
3、佔記憶體不同:
字元常量只佔一個位元組;字串常量佔若干個位元組,(至少一個字元結束標誌)。不佔據任何儲存空間屬於指令的一部分,編譯後不再更改。字串常量是一對雙引號括起來的字元序列。
4樓:僕菱華橋清
一個是字元,一個是字串,字元在進行運算時是當整數處理的,字串不能參與運算,字串隱含了『\0'這個字元,因此它有兩個字元,字串本身是個地址等等
5樓:
字元常量 長度只有 1位元組 (1 byte),是整型量,例如 'a','\n'. 數值等於它的ascii值.
可以用於整型表示式。
字串常量 長度可以不只1位元組,是char 陣列,預設以 "\0" 結束。例如 "abc123".
通常要用str...函式來處理,例如 strcmp(),strcpy(),strlen().
6樓:來自居庸關粉妝玉琢的珍珠梅
二者都是常量,區別在於使用方法不同
字元常量使用時直接拿變數使用
而字串常量由於含不止一個字元,不易使用其全部字元內容,所以使用時通常是使用它的首地址,即指標
7樓:
字元常量只是一個字元,佔8位,字串常量佔若干個8位
8樓:匿名使用者
字元型常量是指僅含單個ascii字元的常量有兩種表示方法
1. 單撇號
如 'a' '$'
2 轉義字元
如 '\n' '\0'
儲存上佔 1位元組 存放於字元型變數中
可以與整數混合運算
字串常量是0個或多個字元的序列
用 雙撇號表示
如 「981650981725」
儲存上 等於字元數量+1 因為系統預設追加零字元 存放於字元型陣列中
9樓:匿名使用者
字元常量是單引號,字串常量是雙引號
10樓:匿名使用者
什麼一串一個的我就不說了,說點隱蔽的
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
11樓:匿名使用者
字串是一連串的字元
字元是單個的
字元常量和字串常量到底有什麼區別啊?
12樓:蛙家居
字元常量代表一個不可變化的固定數值值,這個字元出現就代表這個數值;字元變數可以存放定義型別的數值,而這個數值是可以變化的。
一、字元常量:
(1).定義:用單引號括起來的單個字元或轉義字元\
(2)轉義字元 反斜線後面跟著字元或一個**值表示
二、字元常量與字串常量
(1)字串常量不允許賦值給字元常量;
例如char a=」a」;錯誤字串只能由指標陣列表示 其他不能表示字串;
(2) 字元』1』和整數1是不同的概念:字元』1』只是代表一個形狀為』1』的符號,需要時按原樣輸出,在記憶體中以ascii碼形式儲存,佔1個位元組。整數1是以整數儲存方式(二進位制補碼方式)儲存的,佔2個或4個位元組。
(3) 字元型變數在記憶體中佔一個位元組,由於儲存的是字元的二進位制ascii碼,與整型資料儲存方式類似,字元型資料和整型資料可以相互運算。
13樓:
形式上: 字元常量是單引號引起的一個字元;
字串常量是雙引號引起的若干個字元;
含義上: 字元常量相當於一個整型值,可以參加表示式的運算;
字串常量代表一個地址值(該字串在記憶體中存放的位置);
佔記憶體大小:字元常量只佔一個位元組;
字串常量佔若干個位元組,(至少一個字元結束標誌)
14樓:匿名使用者
區別在一個是字元,一個是字串
字元都是單個的
字串是多個字元的集合
15樓:匿名使用者
字串在計算機儲存中結尾比字元多一個「\0」;
比如「a 」是字元,而「a \0」是字串。
16樓:
字元是一個的,例如'a' , '1', '+' 字串是一或多個的 "a" ,"b" ,"abc1"
17樓:
字元常量後面沒有\0
而字串常量後面有\0
18樓:匿名使用者
a 和 ab
也可以是'' 和""的區別
什麼是字串常量和字串變數啊???
19樓:寫在楓葉上的故事
字串常量是一對雙引號括起來的字元序列。字元常量可以賦值給字元變數,如"char b='a';",但不能把一個字串常量賦給一個字元變數,同時也不能對字串常量賦值。
字串變數是存放字元常量的變數,其取值是字元常量,即單個字元。字元變數的型別說明符是char。每個字元變數被分配一個位元組的的記憶體空間,因此只能存放一個字元。
並且字元值是以ascⅱ碼的形式存放在變數的記憶體單元之中的。
擴充套件資料字串常量的儲存:
字串中的字元依次儲存在記憶體中一塊連續的區域內,並且把空字元『 \0』自動附加到字串的尾部作為字串的結束標誌。故字元個數為n的字串在記憶體中應占(n+1)個位元組。可以輸出字串,例如:
printf("how do you do.");
字串變數的說明:
1、字元變數在記憶體中佔一個位元組。
2、在記憶體中,是把字元對應的ascii碼值放到儲存單元中。
3、字元型資料與整型資料之間可以通用。
20樓:伯穎然
字串常量就是指單 雙引號引起的若干個字元,一串字元,在程式執行過程中不會發生變化
字串變數就是指在程式執行過程中會發生變化的,但是又不存在的字元組合
21樓:來自晴川閣舒心的冰洲石
字串變數和字串常量的意思相差很多
22樓:匿名使用者
定義:括在一對雙引號之內的字元序列或轉義字元序列稱為字串常量。
例如:「how are you!」 「a」 「*abc\n\t」
它是不可以改變的.例如:
char *p="ni hao!";
如果你試圖改變指標所指向的內容是會報錯的.
例如:(*p)='h';//執行的話會報錯因為字串常量是放在靜態儲存區的,這部分內容是不能修改的。
字串變數:在c中是沒有這個概念的,c中如果想將一個字串存放到變數中,必須使用字元陣列,就是用一個字元型陣列存放一個字串,例如:
char data[10]="china";這時候,這個字元陣列存放了一個字串,它是可以改變的,
例如:data[0]='m';這種操作都是可以的。
大概意思,就這些了,不清楚的可以hi我.
字元陣列與字元常量的問題
char str name 與char str 5 str name 前者是宣告一個陣列,並給它賦初值,結果str的內容是 n a m e 0 後者的寫法,根本是錯誤的,不能對陣列的標識 即陣列的首地址 進行賦值樓主也許是想把前者跟 char str name 進行比較這句話的意思是宣告個指向常量字...
字元常量和符號常量有什麼區別?字元常量在程式設計中有
字元常量和符號常量的區別 一個常量即可以直 接用字面形式表示 稱為直接常量,如124,156.8 也可以用一個識別符號來代表一個常量,稱為 符號常量 但符號常量必須在程式中的說明部分定義,也就是說先定義,後使用。字元常量是由單個字元組成,所有字元來自ascii字符集,共有256個字元。在程式中,通常...
下面不正確的字串常量是,下面不正確的字串常量是( ) A AB B ab ab C a D
選a字串常量必須以雙引號括起來,對比看其他3個選項 b字串中的單引號雖有點兒問題,但現在編譯器還是能接受的,雙引號就不行了。cd都是正經八百的寫法。選 a 字串常量是一對雙撇號括起來的字元序列 書上是這樣寫的!c 這就一個結束符,沒任何內容。下面不正確的字串常量是 a.ab b.ab ab c.a ...