const char*,char *和string之间的转换

本文介绍了C++中各种指针类型的声明和含义,包括二级指针、指针数组和数组指针。同时,讨论了指针与数组、字符串之间的转换,以及在类中静态成员的作用和初始化顺序。此外,还涵盖了函数指针的使用和C++构造函数中的初始化列表规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

const char *和char *,还有string之间的转换为:
1,const char *转换为char *就是首先申请一段空间,然后复制进去,不能直接赋值是因为const
   const char *pp="aaa";
   char *p=new char[enoughspace];
   strcpy(p,pp);
2,char *转换为const char*可以直接赋值
3,char *转为string
   char *a="aaa”;
   string s(a);
4,string转为const char *
   string s="abc";   
   const char *c;
   c=s.c_str();
5,const char *转string
   const char *c="abc";
   string s(c);
6,string转char *
   string s="abc";
   char *c;
   const int len=s.length();
   s=new char[len+1];
   strcpy(c,s.c_str());


12. 下面的数据声明都代表什么意思?

(1)float(**def)[10]

Def是一个二级指针,它指向的是一个一维数组的指针,数组的元素都是float。

(2)double*(*gh)[10]

Gh是一个指针,它指向一个一维数组,该数组元素都是double*

(3)double(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值