c++字符串char*s與char s[]的區別與使用方法


1.char *a

    a是一個指向已知字符串的指針,實質是指針。

2.char arr[]

    arr本身是一個字符串數組,arr指向該數組的第一個元素,實質是數組。

3.char*a 與char arr[]

3.1 賦值區別

    在1中,s是數組名,當成是常量指針,不可以作為左值修改;而2中s是一個指針變量,可以將其指向一個字符串常量。


圖1

圖2

3.2 大小區別

char str[] = { "abcd" },sizeof(str) = 5,strlen(str) = 4

char *str = {"abcd"},sizeof(str) = 4,strlen = 4


str[]={"abcd"}

char *str = {"abcd"}

3.3 轉換方法

3.3.1 把char arr[]賦值給char *a

    很簡單: char arr[]={"qwer"};    char *a=arr;即可。

3.3.2把char* 賦值給char arr[]

    需要通過循環來一個一個地賦值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM