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

2021-07-01 01:48:25 字數 5681 閱讀 8121

1樓:冷楓娛樂

定義的字串:

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

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

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

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

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

c語言中如何定義字串?

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

3樓:匿名使用者

一維和二維的都可以;

一維的情況如下:

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

4樓:天雲一號

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

行定義。

下面通過權

舉例來分別進行說明:

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

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

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

5樓:閃喆黃馨

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

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

='\0'

6樓:簡聖祭蓓

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

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

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

7樓:告煦賀皓

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

修改方法:t=

strlen(a)+1;

8樓:初人江驥

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

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

9樓:匿名使用者

用字元陣列或者string定義

10樓:匿名使用者

char * a = "字串";

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

11樓:魔劍

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

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

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

例:char *p = "hello";

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

12樓:高_婷婷

一維的情況如下:

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

13樓:匿名使用者

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

1 定義變數字串。

char str[200];

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

2 定義常量字串。

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

char *s = "test string";

14樓:牙牙啊

1、定義變數字

符串。char str[200];

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

2、定義常量字串。

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

c語言:

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

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

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

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

15樓:孫樹帥

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

16樓:匿名使用者

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

#include

int length;

char *p;

scanf("%d",&length);

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

17樓:

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

#include

#include

void main()

18樓:完全可以

#include

cstring string;

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

19樓:

#include

cstring cstr="value";

20樓:匿名使用者

char *cs="helloworld";

哦。這是常量了。

c語言 如何定義字串陣列

21樓:會飛的小兔子

c語言字串陣列中的每一個元素均為指標,即有諸形如「ptr_array[i]」的指標。由於陣列元素均為指標,因此ptr_array[i]是指第i+1個元素的指標。

例:如二維指標陣列的定義為:char *ptr_array[3]=,,};

擴充套件資料

字串陣列陣列元素表示方法:

陣列元素的一般形式為:陣列名[下標] 其中的下標只能為整型常量或整型表示式。如為小數時,c編譯將自動取整。

例如,a[5],a[i+j],a[i++]都是合法的陣列元素。陣列元素通常也稱為下標變數。必須先定義陣列, 才能使用下標變數。

在c語言中只能逐個地使用下標變數, 而不能一次引用整個陣列。

22樓:金牛多弗朗明哥

方法1, 使用指標陣列:

#include

#include

#include

int main()

;int i=0;

while(strcmp(test[i], " ") != 0)

puts(test[i++]);

system( "pause ");

return 0;

}這個方法比較簡單, 但是問題是這樣的話,字串是常量,無法修改。當然這個問題也可以解決, 比如使用陣列賦值, 然後將 char 陣列首地址賦值給某一個指標即可。

方法2,使用2維陣列:

#include

#include

#include

int main()

;int i=0;

while(strcmp(test[i], " ") != 0)

puts(test[i++]);

system( "pause ");

return 0;

}這樣的話, 問題就是 空間的浪費!

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

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

c語言的定義字串的問題,c語言的一個定義字串的問題

c2是代表的這個陣列的第一個字元的地址,地址就是常量,所以不能被賦值。c語言規定,不可以給已經定義的陣列名重新賦值。因為陣列名中存放的是陣列的首地址。值為 abc edfg 的字串常量在賦值過程中給出的是這個字串在記憶體所佔一串連續儲存單元的首地址。而c2是一個不可重新賦值的陣列名。因此,這樣賦值不...

c語言字串長度如何數,C語言字串長度如何數?

1 首先開啟vs2014,新建一個專案。2 然後我們根據圖示 新建一個main函式。3 然後我們根據圖示 新增標頭檔案。4 然後我們根據圖示 新增main函式。5 然後我們根據圖示 定義int變數len。6 然後我們根據圖示 定義char型別變數str。7 然後我們根據圖示 使用scanf給str賦...