欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

string 与char *的区别

发布时间:2025/5/22 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 string 与char *的区别 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

string是STL当中的一个容器,对其进行了封装,所以操作起来非常方便。
char *是一个指针,可以指向一个字符串数组,至于这个数组可以在栈上分配,也可以在堆上分配,堆得话就要你手动释放了。
string的内存管理是由系统处理,除非系统内存池用完,不然不会出现这种内存问题。
char *的内存管理由用户自己处理,很容易出现内存不足的问题。
char *s="string"的内容是不可以改的;char s[10]="string"的内容是可以改的
当 string 直接转化成 const char *时,可以通过两个函数c_str(),data成员函数,例如:

string s="xiaoming";const char *a=s.c_str();//去掉const会显示编译错误const char *b=s.data();

将*char 转化成string,直接转化就可以。就是注意输出的问题:

char *a="xiaoming";string s;s=a;printf("%s\n",s.c_str());

总结

以上是生活随笔为你收集整理的string 与char *的区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。