C語言中定義字元 char chr問 c 101和c 101兩個表示式哪個對,為什麼

2021-04-17 16:16:47 字數 1729 閱讀 1177

1樓:匿名使用者

第二個對,因為char是ascii碼,可以寫作256以內的整數。而第一個是3個字元,不能直接用單引號括起來

2樓:岔路程式緣

chr是已bai經宣告是一個

字元變數,它有兩du種賦值方式:

第一zhi是字元方式如daochr='e';

第二是asc碼方式,

內就是把字元的asc碼值賦給容它,如chr=101。

兩種方式是等價的。

在c語言中,單引號是代表單個字元的標誌,如'a'、'6'等。'101'這種表示不知所云。

所以chr='101'是錯誤的。

3樓:匿名使用者

c='0'

c='9'

沒有超過兩位數的

c語言 char *str 與char str[] 這倆種定義字串到底有什麼區別

4樓:園林植物手冊

一、概念不同

char *str 宣告的是一個指標,這個指標可以指向任何字串常量。char str 宣告的內是一個字元陣列容,陣列的內容可以是任何內容,嚴格意義上說,末尾加上'\0' 之後才能算是字串,

二、變數不同

char *str裡的str是指標變數,str的值未初始化(區域性變數的話。全域性則自動初始化為null)。char str[ ]裡str是地址常量,str的值是str[ ]的地址。

三、定義方法不同:

在char * str中,明顯str的型別是char*。這沒什麼特殊的,只是一個簡單的char指標。char str是不能這樣定義的,所以假定用char str[6] = "abcde";那麼這裡str的型別是char[6](6個,不是5個,因為最後有個0) ,而這種定義語句也是定義一個char[6]型別的唯一方法。

5樓:這自來水來自這

char *str; 這裡str是指標變數,來str的值未初源

始化(區域性變數的話。bai全域性則du自動初始化為null)char str[10]; 這裡zhistr是地址常量,daostr的值是str[0]的地址

6樓:匿名使用者

兩者都代表bai一個字元陣列存du儲空間的首地址,zhi區別在:

char *str;

這個變數可dao以進行指標運算,比如

回:答str++;

str--;

但如果定義成:

char str;

則str++這樣的語句是錯誤的,這個首地址不得進行賦值計算。

在不改變str指標指向地址的情況下,下面的語句是一樣的結果。

printf("%s",str+2);

7樓:

第一種為定義一個指標變數;

第二種為定義一個陣列;

如果定義時為其賦初始值,如char *str1 = "hello world!

8樓:匿名使用者

而且char *str中str更方便活用因為是變數 所以可以進行多重操作,從某種意義上說,一般採用第一種方式去定義一個字串,,注意下越界和初始化的問題就好了

9樓:匿名使用者

char *str 宣告的是一個指標,這個指標可以指向任何字串常量;

char str 宣告的是一個字元陣列,陣列的內容可以是任何內容,嚴格意義上說,末尾加上'\0' 之後才能算是字串

如何定義定義的字串,C語言中如何定義字串?

定義的字串 可以通過字元陣列或字元指標來定義字串,也可以用巨集定義對常量字串進行定義。下面通過舉例來分別進行說明 char str1 helloworld 通過字元陣列來定義字串 helloworld 陣列中每個儲存單元存放一個字元 char str2 helloworld 通過字元指標來定義字串 ...

C語言中字元常量有什麼用,C語言中字元常量與字串常量有什麼區別?

字元常量 在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量 單引號中的空格也是 字元常量只能包含一個字元 字元常量只能用但括號括起來。比如是常用字元的acii a 97 a 65 常量一般指隨時拿過來就可以用的,並且是不...

c語言中為什麼用巨集定義字元常量(字母)可以賦值給字元

因為巨集是一個簡單替換,所以c語言中用巨集定義一個字元常量 一個字母 可以內賦值給字元變數。實質容是在編譯之前會把巨集替換掉,然後再編譯。例如 define a 5 void main 在編譯之前a已經被替換成5了,所以就可以賦值給num。漢字根據編碼方式不同,所佔的大小2 4個位元組 不等,漢字賦...