当前位置:编程学习 > C/C++ >>

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

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

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

小练习 #include <iostream>
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<<this->str<<endl;
}

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

补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,