首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

指针类型的常量 能否改变它所指对象的值?解决办法

2012-03-02 
指针类型的常量 能否改变它所指对象的值?char*constname2 test 这是指针类型的常量。不能改变指针本身

指针类型的常量 能否改变它所指对象的值?
char   *   const   name2= "test ";   这是指针类型的常量。不能改变指针本身的值,不能指向其他对象。

const   char   *name2= "test ";是指向常量的指针,不能改变所指对象的值,但可以改变指针本身,指向其他对象  

我想试试指针常量,能不能改变它所指对象的值,代码如下:
                char   *   const   name2= "test ";
                *name2= 'f ';
                cout < <name2 < <endl < <*name2 < <endl;      
debug出现正确结果:name2为“fest”。但是运行时出“段错误”   ,为什么?


debug信息如下:
Program   received   signal   SIGSEGV,   Segmentation   fault.
main   ()   at   t3.cpp:37
37                             *name2= 'f ';  



[解决办法]
哎,你还没搞清楚字符串常量 "test "的特性。
和你正试的const指针无关。
[解决办法]
int main
{
char sz[10] = "test ";
char *const cpoint = sz;
*cpoint = 'u ';
cout < < sz < < endl;
return 0;
}

热点排行