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

2021-03-11 23:50:30 字數 3152 閱讀 6313

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

2樓:匿名使用者

一維和二維的都可以;

一維的情況如下:

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

3樓:天雲一號

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

行定義。

下面通過權

舉例來分別進行說明:

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

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

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

4樓:閃喆黃馨

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

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

='\0'

5樓:簡聖祭蓓

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

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

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

6樓:告煦賀皓

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

修改方法:t=

strlen(a)+1;

7樓:初人江驥

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

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

8樓:匿名使用者

用字元陣列或者string定義

9樓:匿名使用者

char * a = "字串";

c語言 如何定義字串陣列

10樓:會飛的小兔子

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

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

擴充套件資料

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

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

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

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

11樓:金牛多弗朗明哥

方法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;

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

12樓:華光高科

10.3.1-c程式設計基礎-字元陣列與字串

13樓:匿名使用者

char username[n][4]=;

n是字串的個數

c語言中字串相減是什麼意思,C語言中字串相減是什麼意思

從首字母開始,比較字元的大小,如果一個a可通用,一個b開頭,那麼a開頭的 就大,則相減結構為正 字串不能相減,但你可以用strcmp來做比較,其實該函式也是從字串的首地址開始比較字元的ascii碼 金色潛鳥 1 c語言中沒有 字串相減 運算。2 c語言中 有 單個字元 相減 運算。例如,把字串 12...

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

0 一般放在字串的結束處,表示字串的結束,其是ascii值為0的字元的轉義。在標頭檔案 include 中包含的一些字串處理函式等中,一般處理字串時,都是一 0 作為字串的結束,如果乙個字串中沒有 0 這個結束字元,那麼這些函式將不能確定字串的結束位置在哪兒,從而引起一些不必要的錯誤。0 在c語言中...

c語言中字串為什麼要有呢在字串中的

0 在字串中標誌著結尾 用來判斷這個字串已經結束 如果不新增 0 系統就在記憶體中一直向後讀,直到讀到 0 為止 這個情況就造成錯誤 乙個語句結束了,就用分號 表示結束啊 0 表示字串結束,乙個語句的結束是用乙個 號來表示的,如果是語句塊的話是用大括號來表示結束的。0在出入吸附石不會出現,輸出是也不...