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(