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