https://blog.csdn.net/u010141928/article/details/72878386
1. string類型,直接賦值,例如:string str="abcd";
2. 對於char數組型變量,在聲明時可以直接賦值,例如:char str[]="abcde";
當然也可以用char c[3]="ab"來進行初始化,但是這樣做需要我們明確知道字符串的長度到底為多少,否則假如這里我們的字符串為“abc”,那么在進行賦值的時候就會報錯,因為字符串的長度還有加上'\0',所以超過了3,所以會報錯!!所以為了更方便最好不要指定大小。
3. 對於char型指針,在聲明時可以直接賦值,例如:char *ch="abc";
3.1右值 “abc”的返回值是 char const *
int main() { auto a= "test1"; cout << typeid(a).name()<<"\n"; cout << a; }
輸出值(左值類型 const char * 或者 char *都可以直接輸出字符串):
char const * test1
3.2 對於char數組型變量,在非聲明的時候進行賦值,不能直接賦值
比如:
char str[64];
str="abcdf";//對數組的不合法賦值,而且長度為6,和64不等
正確的做法為借助於strcpy函數,例如:
char str[64]';
strcpy(str,"abcde");
char *