C語言中如何定義字串,c語言中,怎麼樣定義乙個字串變數

時間 2022-02-16 10:39:40

1樓:資星劍後英

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

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

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

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

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

2樓:阿四哥

c語言字串的學習,輸入指定字串,並且計算字串的位數

c語言中如何定義字串?

3樓: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語言最初的標準。

4樓:匿名使用者

一維和二維的都可以;

一維的情況如下:

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"相對應;

5樓:天雲一號

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

行定義。

下面通過權

舉例來分別進行說明:

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

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

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

6樓:閃喆黃馨

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

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

='\0'

7樓:簡聖祭蓓

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

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

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

8樓:告煦賀皓

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

修改方法:t=

strlen(a)+1;

9樓:初人江驥

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

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

10樓:匿名使用者

用字元陣列或者string定義

11樓:匿名使用者

char * a = "字串";

c語言中,怎麼樣定義乙個字串變數

12樓:魔劍

c語言沒有字串型別,所以沒辦法進行定義字串變數。

但是可以用字元陣列來處理字串。(這定義了乙個字元陣列,名為a)例:char a = "hello";

也可以用來定義乙個指標變數(定義了乙個指標變數,名為p)。

例:char *p = "hello";

接觸c語言幾天。。查了一些資料是這樣理解的,有不對的地方一起學習啦。

13樓:高_婷婷

一維的情況如下:

char string0[10];

char string1="prison break";

char string2[100]="michael scofield";

第一句表示定義個長度為10的字串,但未

賦值;第二句表示定義了乙個字元陣列string1,並進行初始化,使得其長度自動為13(字串」prison break"中的字元個數加上結尾的'\0');

第三句定義了乙個有100個元素的字元陣列string2,並初始化了17個元素("michael scofield";加上結尾的'\0')。

二維的情況如下:

char string3[6][30];

char string3[6][30]=;

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

14樓:匿名使用者

在c語言中,字串是由字元陣列表示的。同時,字元指標也可以理解成為字串。所以,定義字串變數就是定義字元陣列或字元指標的過程。

1 定義變數字串。

char str[200];

定義乙個長度最大為200字元的字串。

2 定義常量字串。

由於常量字串儲存在常量空間中,所以只需要定義乙個指標,指向該位址即可。如

char *s = "test string";

15樓:牙牙啊

1、定義變數字

符串。char str[200];

定義乙個長度最大為200字元的字串。

2、定義常量字串。

由於常量字串儲存在常量空間中,所以只需要定義乙個指標,指向該位址即可。如char *s = "test string"。

c語言:

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

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

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

目前2011年12月8日,國際標準化組織(iso)和國際電工委員會(iec)發布的c11標準是c語言的第三個官方標準,也是c語言的最新標準,該標準更好的支援了漢字函式名和漢字識別符號,一定程度上實現了漢字程式設計。

16樓:孫樹帥

誰和誰家家語言中怎樣定義乙個字元,你可以請教你的計算機老師啊。

17樓:匿名使用者

如果字串長度不確定,例如讓使用者來輸入,可先定義長度變數例如:#include

#include

int length;

char *p;

scanf("%d",&length);

p=(char *)malloc(length*sizeof(char));

18樓:

沒有字串型別,所以要用char陣列

#include

#include

void main()

19樓:完全可以

#include

cstring string;

string即使字串變數 可以給它賦值~

20樓:

#include

cstring cstr="value";

21樓:匿名使用者

char *cs="helloworld";

哦。這是常量了。

c語言中怎麼定義並輸入乙個字串

22樓:

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

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

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

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

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

在c語言中怎樣定義字串

23樓:錦瑟霏雨

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'作為字串結束標誌。

c語言中怎麼從字串中取字元,C語言中怎樣獲得字串中的單個字元

用標準c庫中的字串操作函式就可以了 需要 include string.h 常用的函式有strcpy,strlen,strcmp,strchr,strstr等等 char s ssssabedbewb int len char p s 2 第一種方法 printf 輸入輸入字串的長度 scanf d...

C語言中有哪些字串處理函式,C語言字串處理的庫函式有哪些

你可以看一下頭檔案string.h和stdio.h裡面的相關函式宣告,好多好多。這裡就不一一列出了 比如下面列出的只是其中一部分 crtimp char cdecl strcpy char const char crtimp char cdecl strcat char const char crt...

c語言定義字串陣列,C語言 如何定義字串陣列

天方夜譚的哆啦a夢 c語言字串陣列中的每乙個元素均為指標,即有諸形如 ptr array i 的指標。由於陣列元素均為指標,因此ptr array i 是指第i 1個元素的指標。例 如二維指標陣列的定義為 char ptr array 3 擴充套件資料 字串陣列陣列元素表示方法 陣列元素的一般形式為...

C語言中的字串問題

老生常談的問題 char ptr abcdefg ptr指向乙個常量字串,這個字串的內容是不能修改的 ptr t 這個操作是要修改它指向的字串的第乙個元素,是不可行的 char ptr abcdefg ptr sdfsfsdfksdf ptr指向另乙個地方了 這個關鍵要明白的是 abcdefg sd...

c語言用scanf輸入字串,C語言中用scanf函式輸入字元時,為什麼要在輸入控制符 c前面加空格?用scanf還有哪些要注意?

有了char a 10 那麼a就是這個陣列的第乙個元素的指標,a就是這個陣列的指標 因為一維陣列的第乙個元素的指標和這個陣列的指標是同乙個位址,區別是a 1指向a 1 而 a 1就指向a 10 了 這裡已越界了 但 a和a的 值 是相同的,只是型別不同。c呼叫函式時,實參的型別都會被強制為形參的型別...