关于char *c = "xxx"

来源:互联网 发布:阿里云服务器账号 编辑:程序博客网 时间:2024/05/16 16:20

在C++中,一般对于指针来说,输出指针名会显示出该指针所指向的地址,但对于char*来说却是个例外。例:

#include <iostream>int main(){    char* c = "I'm special";    cout << c << endl; // 此时会输出“I'm special”    c++;    cout << c << endl;// 此时会输出“'m special”    return 0;}

在C++中char* c = “ccc” 其实可以看做const char* c=”ccc”,就是一个字符串和string类型一样。
而ostream << 对char* 进行了重载, 输出内容为c所指向的地址到字符串最后一个非“\0”。若要显式地输出c所指向的地址则可以用

cout << (void*)c << endl;

注:一点不太成熟的见解,有问题希望各位道友及时指出,多谢多谢!

原创粉丝点击