c++中char str[]与char* str的区别

2014-11-24 12:55:09 · 作者: · 浏览: 4

在c++中对char类型做了特殊处理,原因是兼容c语言
eg:
char str[]="abcdef";
这里的str是一个地址,c++在运行时会自动将str的地址从str[0]一直移动到“”;然后输出结果。\abd

char* str这个是一个野指针,千万别这样使用,在类中除外。

小练习 #include
using namespace std;

class Book{
private:
char* str;
public:
Book(char str[]);
void show();
};
Book::Book(char str[]){
this->str=str;
};
void Book::show(){
cout<str<}

int main(){
Book b("abcdef");
b->show();
}最后一行写错了,应当是b.show();