读书人

const的疑义

发布时间: 2012-09-06 10:37:01 作者: rapoo

const的疑问

C/C++ code
    const char* a;    a="123123";    printf("!!!Hello World!!!%s",a); /* prints !!!Hello World!!! */    return EXIT_SUCCESS;

这样通过了
C/C++ code
    const int a;    int=123;    printf("!!!Hello World!!!%d",a); /* prints !!!Hello World!!! */    return EXIT_SUCCESS;

报错了

[解决办法]
const char* a;
意为a指向的内存不能改变,a本身可以改变
要限制a不能改变,写法是char * const a;


[解决办法]
const char* a声明后不能改变的是a所指向的内容,a本身是可以改变的。

[解决办法]
http://www.doc88.com/p-496333268831.html
这个讲解的很详细
[解决办法]
const的意思是告诉编译器,其内容不希望被改变

楼主代码的意思是a所指向的内容不希望被改变

如果其值有可能改变或者已经被改变
这与const是矛盾的

楼主贴的代码是不是有问题?
尤其是第2段代码

读书人网 >C语言

热点推荐