對字串和字元陣列的理解

2022-07-31 17:12:10 字數 751 閱讀 2142

fdsfsd輸入sdfsfds
高中的時候,一直沒有搞懂字串與字元陣列的關係。現在知道了其中的一點點,於是就寫了下來。

字元陣列可以用cout出來,而不用乙個乙個地用下標索引。

1 #include

2 #include

3using

namespace std;

4void main()

5

輸出陣列時,輸出的內容會一直讀到字串的0\為止,如果讀取的字串中沒有0\  那麼,就會一直讀取相鄰記憶體區段的值,知道0\。

在記憶體中,0\是很常見的。  這也就導致輸出字元陣列時,如果不注意就會出現亂碼。

下面注釋第7行,來測試結果。

1 #include

2 #include

3using

namespace std;

4void main()

5

輸入

輸出

在這裡就出現了亂碼。

分析原因

字元陣列沒有初始化,而陣列長度是6,使用者輸入的資料只能擷取6個,但是這6個中沒有出現0\

所以 cout顯示的結果,一直到names這陣列的相鄰區域,直到發現了0\

總結

字元陣列  為了防止出現亂碼,務必要初始化。

字串和字串陣列

字串陣列 include int main int argc,const char ar printf name1 s n name1 name1 zhangsan 部分初始化中,沒有被初始化的元素預設是0,0 對應的ascii值是 0 char name2 9 printf name2 s n n...

字串和字元陣列

void test1 函式test1中,指標str1所指向的字串有11個元素。一定要注意字串是以 0 為結尾的,而strcpy拷貝了整個字串包括 0 所以存在下標越界的問題。void test2 函式test2中,字元陣列str1包含10個元素。陣列str1並不是以 0 結束,所以不能作為字串使用。...

字串和字元陣列

字串的定義 字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為0的串為空串,記作 字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包含子串的串稱為主串,子串的第乙個字元在主串的序號成為子串在主串的位置。字串的比較 當下列條件之一成立時,稱x ...