C string字串初始化

2021-08-18 23:08:21 字數 616 閱讀 9244

先來看看c的字串是如何進行初始化的:

char *cpstr="hello world";

char arr1="hello world";

char arr2=;

這三種定義c字串的方式,其中前兩種雖然形式不一樣但含義是一摸一樣的,沒有差別,在計算字元長度的時候都會比實際顯示的字元長度多1,因為這兩種初始化會在字串末尾預設新增了乙個『/0』。而第三種初始化方式的長度就是方括號裡的字元數,這種方式並不會預設末尾結束符'/0'。

如果要用第三種方式定義和前兩種方式同樣的字串則需寫成這樣:

char arr2=;
當對string用c字串進行初始化時,可以指定初始化的長度,如:

string str1(arr1, 2);
如果不指定長度需要c字串必須以'/0'結尾,如果不是以'/0'結尾則程式會出錯。

如下**:

string str2(arr2); // 編譯出錯
在程式編譯的時候就會出錯。

// 宣告:本文整理自網路

C string字串的連線 遍歷 初始化

include include string using namespace std 字串初始化 void strinit 字串遍歷 void strergo cout endl 通過迭代器遍歷 cout 2 通過迭代器遍歷 iterator it s1.begin it s1.end it cou...

字串初始化

在c語言程式設計中,當我們宣告乙個字串陣列的時候,常常需要把它初始化為空串。總結起來有以下三種方式 1 char str 10 2 char str 10 3 char str 10 str 0 0 第 1 2 種方式是將str陣列的所有元素都初始化為 0 而第 3 種方式是只將str陣列的第乙個元...

字串初始化

在 裡,經常會用字串進行初始化操作。比如 void func void 對於上面2條初始化語句,它們的區別是什麼呢?1,首先,hello world 是乙個字串常量,存放在靜態常量區。2,str1是乙個字元陣列,分配在棧上,儲存空間由 hello world 的長度 含 0 決定,存放的內容由 he...