1.定义:

  string是STL当中的一个容器,对其进行了封装,所以操作起来非常方便。

  char *是一个指针,可以指向一个字符串数组,至于这个数组可以在栈上分配,也可以在堆上分配,堆得话需要手动释放了。

2.区别

  string的内存管理是由系统处理,除非系统内存池用完,不然不会出现这种内存问题。

  char *的内存管理由用户自己处理,很容易出现内存不足的问题。

  char *s="string"的内容是不可以改的;char s[10]="string"的内容是可以改的。

  当我们定义了一个string,就不能用scanf("%s",s)和printf("%s",s)输入输出。主要是因为%s要求后面是对象的首地址。

3. 转化

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{string s="xiaoming";const char *a=s.c_str();//去掉const会显示编译错误const char *b=s.data();printf("a:[%s],b:[%s]\n",a,b);
}
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{char *a="xiaoming";string s;s=a;printf("%s\n",s.c_str());
}

欢迎扫描二维码关注微信公众号 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

【一天一个C++小知识】014:C++中string与char*的区别相关推荐

  1. 【每天一个Python小知识】NumPy中的np.where

    函数形式:a = np.where(b) 功能:找到满足条件的b的索引a. 参数:b是某种条件,要求是np类型. 返回值:a是返回的索引,也是np类型. 举个套娃的例子来更好的了解这个函数: impo ...

  2. 【每天一个Python小知识】NumPy中的np.any

    import numpy as np np.any(np.array) 对矩阵中所有元素做或运算,存在True则返回True 一般在条件判等时使用,如: import numpy as np a = ...

  3. 安卓期末作品小项目_每日一个财务小知识——洞悉洞晰财务报告第一季

    财务报告 洞悉洞晰财务报告 目录 01/账务报告概述 02/资产负债表 03/利润表 04/现金流量表 05/所有者权益变动表 06/附注 一.财务报告概述 (一)财务报告及其目标 财务报告是指企业对 ...

  4. 【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类...

    目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) ---------------------------------------分割线----------- ...

  5. 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...

  6. 奶粉中的php是什么,奶粉小知识:奶粉中的OPO起到什么作用?

    原标题:奶粉小知识:奶粉中的OPO起到什么作用? 现在不少奶粉都打着OPO的名号作为宣传卖点,那么,OPO在奶粉中到底到了什么作用,却仍然有着大部分人不太了解. 实际上,OPO,又称OPO结构脂,是一 ...

  7. Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)

    java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...

  8. 【每天一个Python小知识】用yaml的yaml.safe_load()方法读取配置文件中的参数

    文章目录 ymal安装 配置文件格式 配置文件读取 yaml是专门用来写配置文件的,因其简洁高效而被大众喜爱. ymal安装 python3安装: pip install pyyaml#python2 ...

  9. list赋值给另一个list_Python小知识: List的赋值方法,不能直接等于

    Python中关于对象复制有三种类型的使用方式,赋值.浅拷贝与深拷贝.他们既有区别又有联系,刚好最近碰到这一类的问题,研究下. 一.赋值 在python中,对象的赋值就是简单的对象引用,这点和C++不 ...

  10. 每天一个shell小知识(shell变量)

    目录 shell变量 自定义变量: 变量定义/查看 变量赋值的特殊操作: 双引号 单引号 反撇号 设置变量的作用范围: 特殊变量---环境变量: 位置变量: 预定义变量: shell变量 在各种she ...

最新文章

  1. leetcode 507. 完美数(Java版)
  2. 树莓派安装python3.5_树莓派 | 04 安装基于python3.5的tensorflow,解决python版本不匹配问题...
  3. C语言精度控制整形,C语言 凑算式 控制精度问题
  4. 单链表插入元素 注释 c语言,数据结构之无头单链表的相关练习题——C语言实现(详细注释)...
  5. 关于面试时碰到的几个多线程手撕代码题
  6. html select 事件 jquery,通过jquery触发select自身的change事件
  7. Pytorch专题实战——交叉熵损失函数(CrossEntropyLoss )
  8. Android项目总结(3)-登录页图片循环过渡播放动画效果
  9. 神策分析 1.13 版本用户分群全新升级,为企业打磨­­­­­­­­­精细化运营基石
  10. WhatsApp选择了便利而不是隐私,这是解决问题的方法
  11. AVI文件在opencore框架下的解析
  12. 【大牛感悟】淘宝陈吉平职业生涯--敬不甘平凡的自己
  13. 家庭版Windows10/Windows11不支持远程桌面
  14. ZOJ3549 Little Keng(快速幂)
  15. 想知道未来孩子长相?Python人脸融合告诉你
  16. 教师公开课卡通动态通用PPT模板
  17. 【五一创作】(2017NHOI-GOC测评)第1题 鱼形(fish)
  18. 利用Python对淘宝用户行为进行分析
  19. Android 支付宝API使用流程
  20. 经济寒冬背景下,企业如何利用OA系统保暖

热门文章

  1. 内置函数dict()字典
  2. Python2.X和Python3.X文件对话框、下拉列表的不同
  3. css 里层元素撑不开外层元素
  4. 微信小程序——风水罗盘
  5. 如何解决ADB server didn't ACK
  6. 浅谈 HTTPS 和 SSL -TLS 协议的背景与基础
  7. 28. 字符串的排列(C++版本)
  8. 09. Never call virtual funcitons during construction or destruction
  9. html5提交按钮如何改成图片,HTML5 订阅按钮变成填充表单动效
  10. php怎么处理一对多,php - 如何处理内部连接以及与OOP的一对多关系? - SO中文参考 - www.soinside.com...