【发布时间】:2015-02-27 16:04:17
【问题描述】:
编译以下代码时,编译器会产生警告:
赋值从指针目标类型中丢弃“const”限定符
#include<stdio.h>
int main(void)
{
char * cp;
const char *ccp;
cp = ccp;
}
而且这段代码没问题(没有警告)。为什么?
#include<stdio.h>
int main(void)
{
char * cp;
const char *ccp;
ccp = cp;
}
编辑:那为什么不行呢?
int foo(const char **p)
{
// blah blah blah ...
}
int main(int argc, char **argv)
{
foo(argv);
}
【问题讨论】:
-
为了防止(或至少警告)您尝试更改常量数据。
标签: c variable-assignment