C語言中儲存多個字串的兩種方式

2021-09-11 02:37:39 字數 773 閱讀 9772

宣告:

char name[4][10] = ;
在記憶體中的儲存:ju

stin

ian\0

momo

\0\0

\0\0

\0\0be

cky\0

\0\0

\0\0bu

sh\0\0

\0\0

\0\0

這種方式會造成記憶體空間的浪費

宣告:

char *name[4] = ;
在記憶體中的儲存:

name[0] ju

stin

ian\0

name[1]mo

mo\0

name[2]be

cky\0

name[3]bu

sh\0

可見此種方式能夠避免不必要的記憶體浪費

驗證結果:

#include int main()

; char *name2[4] = ;

printf("--------二維字串陣列的儲存方式-------\n");

for(int i = 0; i < 4; i++)

printf("--------一維指標陣列的儲存方式--------\n");

for(int i = 0; i < 4; i++)

}

執行結果:

printf多個字串 C語言字串詳解

字串是一種非常重要的資料型別,但是c語言不存在顯式的字串型別,c語言中的字串都以字串常量的形式出現或儲存在字元陣列中。同時,c 語言提供了一系列庫函式來對操作字串,這些庫函式都包含在標頭檔案 string.h 中。1.1 什麼是字串常量 c 語言雖然沒有字串型別,但是 c語言提是存在字串這個概念的,...

C語言 氣泡排序排序多個字串

strcmp函式 原型 extern int strcmp const char s1,const char s2 用法 include 功能 比較字串s1和s2。一般形式 strcmp 字串1,字串2 說明 當s1s2時,返回值 0 即 兩個字串自左向右逐個字元相比 按ascii值大小相比較 直到...

C語言的兩種字串

c語言中的兩種字串 1.兩種字串的表示 1.字串陣列 char str1 hello char str2 6 hello 注意 在字串 陣列 初始化時sizeof str 的大小應該比你想要的大小 1,因為在作為字串時,會有乙個 0 自動成為字串的元素 上述的例子如果變成 char str2 5 h...