C語言中什麼是字串,C語言中如何定義字串?

2022-03-29 05:56:15 字數 6419 閱讀 1901

1樓:繆若南宰曼

加了''符號的字元,例如'c'.'3'

在c語言中,

由零個或多個字元組成且通過雙引號括起來的有限序列就叫字串.

例如:"hello

world",

"我愛中國",

"a",

"123456"等等.

另外字串在記憶體中是由字元型陣列來儲存的.且在儲存的時候多加'\0'表示字串已經結束.

例如:char

string[12]

="hello

wolrd";

注意,字串是zhidao以'\0'結尾的,所以儲存的陣列大小至少是字串長度加1.

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

下面是常用字答符的sacii

'a』--'z'

97------122

'a』--'z'

65-------90

'0'---'9'

48-------57

字串常量:字串常量是用雙引號括起來的,在c語言中系統會在每個字串的最後自動加入一個'\0'作為字串的結束標誌。

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

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

2樓:蹇翰墨野然

c語言中的一串字元是指字元的陣列。

字串實際也是字元的陣列,不過賦值的時候,系統會自動在最後新增一個\0,表示字串結束。

輸入的時候字串用

%s作為佔位符。

下面的**就是輸入一段字串,並將其儲存在字元陣列中,最後一個字元後面會自動新增一個

\0。char

str[20];

//儲存輸入的字串

scanf("%s",

str);

//最多能輸入19個字元,最後一個位置要留給系統自動新增的\0

3樓:佴雅雋屠頌

字元就是

鍵盤上的單個符號,

像a,b,c,d..

1,2,3,4,8....以及一些特殊的符號,字串就是字元組成的串,

比如你名字的拼音就可以看做一個字串,它是有長度的

4樓:

" "在此符號之間的都是字串"a","bhah"都是字串

"a"是a+』\0ˊ 當成字串處理。 在ˊˊ內的都是字元

絕對真確!

5樓:匿名使用者

字串是作為一個整體對待的一系列字元。也可以把字串理解成指向其第一個字元的指標。

6樓:匿名使用者

以'\0'結尾的字元陣列。

c語言中如何定義字串?

7樓:yangzhi涯

可以用陣列或指標

陣列:char s[80]="abcd";或者char s[80]=;     /*說明:自動加字串結束標誌:\0*/

char s[80]=;

指標:char *s;char*s="abcd";

c語言是一門通內用計算機程式設計容語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言訂定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。

8樓:匿名使用者

一維和二維的都可以;

一維的情況如下:

1,char string0[10];

2,char string1="prison break";

3,char string2[100]="michael scofield";

1句表示定義個長度為10的字串,但回未賦值,2句表示定義了一答個字元陣列string1,並進行初始化,使得其長度自動為13(字串」prison break"中的字元個數加上結尾的'\0'),3句定義了一個有100個元素的字元陣列string2,並初始化了17個元素("michael scofield";加上結尾的'\0');

二維的情況如下:

1,char string3[6][30];

2,char string3[6][30]=;

此句表示有6個字串,每個字串的長度為30,每個字串的初始值與「joy","phosee","monses","chandele","ross","rather"相對應;

9樓:天雲一號

可以通過字元陣列或字元指標來定義字串,也可以用巨集定義對常量字串進版

行定義。

下面通過權

舉例來分別進行說明:

char str1 = "helloworld";  // 通過字元陣列來定義字串"helloworld",陣列中每個儲存單元存放一個字元

char *str2  = "helloworld";  // 通過字元指標來定義字串"helloworld",指標str2指向一個存放字串"helloworld"的連續地址單元的首地址

#define str3 "helloworld";  // 通過巨集定義來定義字串"helloworld",等價於str3="helloworld"

10樓:閃喆黃馨

c語言每個字串後面都有一個\0作為結尾,你的b沒有\0作為字串結尾,所以後面記憶體中的內容都一起顯示了

在你的for迴圈結束以後加一個b[t]

='\0'

11樓:簡聖祭蓓

因為字串是以'\0'結尾的哈,再則你定義的字串長度是80哈,如果沒到指定的長度,系統會自動補充的,就正如你的程式執行效果;有一下的解決方法:

1.拷貝後,在字串末尾新增'\0';

2.輸入你指定的字串長度哈

12樓:告煦賀皓

字串結尾有一個'\0'。strlen(string)只計算實際長度,不計算'\0'.這導致你的for迴圈沒有複製'\0',導致b沒有結束標誌,於是就出現了那麼多的「燙」。

修改方法:t=

strlen(a)+1;

13樓:初人江驥

for(i=0;i<=t;i++)

這個t只包含總得字元個數,沒包含最後的結束符,把它也傳給b就好了

14樓:匿名使用者

用字元陣列或者string定義

15樓:匿名使用者

char * a = "字串";

c語言中什麼是「字元」、「字串」?有什麼區別? 20

16樓:幸巴達

字元就是單個的字母、數字等,比如'a','b','1','2'。這些都是字元。

字串相當於一個字元陣列最後一位是'\0'

比如:char s="china',其中s[5]=='\0'

17樓:阿飛

字串裡面具有多個的字元,即字元是字串的基本單位,

18樓:

在c語言中

字元是指單個的字元,在程式中表示字元常量用' '引起來,只能是一個字元。

字串是連續的一些字元排列在一起,以空字元'\0'作為結束。字串與字元陣列的區別就在於字串的最後一位必然是'\0',而字元陣列則沒有。

19樓:

字串就是一串字元

字元包含於字串

20樓:匿名使用者

1. 型別不同

字元char, 字串char *

2. 操作不同

char 可以+ - * / % >> << 等char *不能+ * / << >> 等,-運算結果不是char *,而是int

3. sizeof(char)=1; sizeof(char*)在32位系統裡面=4,16位系統裡=2

21樓:

字串是char *用""

字元是char 用''

c語言中的字串是什麼?

22樓:匿名使用者

字元就是一類成為 cahr的資料

說的簡單點,字串 就是一種陣列,char型別的陣列,

但由於有些自帶函式可以直接用來操作字串,所以在用法上與陣列有略微差別

23樓:魂大人的店鋪

強烈建議買一本 譚浩強的c語言教程 很不錯很不錯

24樓:匿名使用者

字元是 單個的 可以是任何 c語言可用的符號字串 就是 多個單個字元的集合

比如 a , b, c ,d 這些就是字元而 abcd 合起來就是字串

在c語言中怎樣定義字串

25樓:錦瑟霏雨

c語言中用字元型char來表示儲存字元,沒有c++裡面的可以單獨的字串型別string;

所以c裡面使用字元陣列和字元指標來實現字串功能;

c的字元陣列只能在定義時一起賦值,以後只能給單個元素一一賦值;

char string0[10];

char string1="prison break";

char string2[100]="michael scofield";

1句表示定義個長度為10的字串,但未賦值,2句表示定義了一個字元陣列string1,並進行初始化,使得其長度自動為13(字串」prison break"中的字元個數加上結尾的'\0'),3句定義了一個有100個元素的字元陣列string2,並初始化了17個元素("michael scofield";加上結尾的'\0')。

c語言本身是沒有設定一種型別來定義字串變數的,字串的儲存完全依賴於字元陣列,但字元陣列又不等於是字串變數。在字元型一維陣列存放字串,並規定以字元'\0'作為字串結束標誌。

26樓:天雲小店

可以通過字元陣列或字元指標來定義字串,也可以用巨集定義對常量字串進行定義。

下面通過舉例來分別進行說明:

char str1 = "helloworld";  // 通過字元陣列來定義字串"helloworld",陣列中每個儲存單元存放一個字元

char *str2  = "helloworld";  // 通過字元指標來定義字串"helloworld",指標str2指向一個存放字串"helloworld"的連續地址單元的首地址

#define str3 "helloworld";  // 通過巨集定義來定義字串"helloworld",等價於str3="helloworld"

27樓:

c語言中沒有專門的字串變數,c把字串作為字元陣列來處理。

char c=;或者char c="hello";

此時字串在陣列中的存放形式為

前五個分別存'h','e','l','l','o',最後還有一個結束標誌'\0'

28樓:路過者天蠍

一樣的,但是要寫成6,因為字串末尾還有『\0』,否則它裝不下

29樓:

char *a = "abcde";//型別為const,系統會自動為其分配空間

或者char a[5] = l; //必須在定義時初始化;否則只能在定義後挨個對成員賦值。

30樓:匿名使用者

一維的情況如下:

1,char string0[10];

2,char string1="prison break";

3,char string2[100]="michael scofield";

1句表示定義個長度為10的字串,但未賦值,2句表示定義了一個字元陣列string1,並進行初始化,使得其長度自動為13(字串」prison break"中的字元個數加上結尾的'\0'),3句定義了一個有100個元素的字元陣列string2,並初始化了17個元素("michael scofield";加上結尾的'\0');

二維的情況如下:

1,char string3[6][30];

2,char string3[6][30]=;

此句表示有6個字串,每個字串的長度為30,每個字串的初始值與「joy","phosee","monses","chandele","ross","rather"相對應;

c語言中字串和陣列的區別,C語言中字串和陣列的區別

這個是字元陣列。c語言字元陣列和字串的區別,字元陣列是一個儲存字元的陣列,而字串是一個用雙括號括起來的以 0 結束的字元序列,雖然字串是儲存在字元陣列中的,但是一定要注意字串的結束標誌是 0 總的來說是沒有區別的,字串就是以字元陣列形式儲存的。可以把一個字串看成是一個字元陣列,可以按陣列那樣操作。兩...

c語言中字串,為什麼最後要加個

因為c語言中沒有字串這種資料型別,只有char字元型別,在c語言中所謂的字串其實是char陣列,陣列最後一個元素加上 0 表示字串結束,這是一種字串的表達方式。c語言中字串,為什麼最後要加個 0 0 一般放在字串的結束處,表示字串的結束,其是ascii值為0的字元的轉義。在標頭檔案 include ...

c語言中用switch函式轉換字串資料怎麼用

1 switch函式只能對整數型別的變數進行列舉,而字串型別不屬於整型變數。因此,必須對字串進行轉化。根據不同的字串比較結果,執行不同的操作。2 例程 假如有這幾個固定的字串 string1 string2 stringn 可以做這種變換 char str 100 假設已經賦值了 int i 0 c...