2013-10-27 35 views
0

如何检查字符串是否为常量?如何检查字符串是否为常量 - C

const char *name;

我要检查,如果名称是C语言的常量。

我该怎么做?

+1

嗯。就变量声明而言,它已经告诉你它指向它的常量的用途。如果你想知道是否有符合标准的方法,给定一个有效的指针作为'const char *'传递给你,你可以确定它是否是可写数组的地址,设施存在(这是一件好事,否则它会被严重滥用)。 – WhozCraig

+0

我假设你会想要这个不同的代码路径为常量。有关编译器特定版本,请参阅https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html#Object-Size-Checking – technosaurus

回答

0

我想你想在运行时检查它 - 这是不可能的C语言。另一方面,在编译期间,如果要将常量变量重新赋值给某个值,编译器将报告错误。

0

据我所知,实际上你不能检查一个变量是否是常量,因为const是一个可以被抛弃的编译时概念。

Here你可以看到一些更多的细节。