【发布时间】:2011-04-01 01:51:00
【问题描述】:
我正在尝试理解数组声明、常量以及它们产生的变量类型。
以下是允许的(由我的编译器):
char s01[] = "abc" ; // typeof(s01) = char*
const char s02[] = "abc" ; // typeof(s02) = const char* (== char const*)
char const s03[] = "abc" ; // typeof(s03) = char const* (== const char*)
或者,我们可以手动声明数组大小:
char s04[4] = "abc" ; // typeof(s04) = char*
const char s05[4] = "abc" ; // typeof(s05) = const char* (== char const*)
char const s06[4] = "abc" ; // typeof(s06) = char const* (== const char*)
如何获得const char* const 类型的结果变量?以下是不允许的(我的编译器):
const char s07 const[] = "abc" ;
char const s08 const[] = "abc" ;
const char s09[] const = "abc" ;
char const s10[] const = "abc" ;
const char s11 const[4] = "abc" ;
char const s12 const[4] = "abc" ;
const char s13[4] const = "abc" ;
char const s14[4] const = "abc" ;
谢谢
【问题讨论】:
-
我不完全确定 C 是否支持 C++ 所做的 const ptr* const 事情。
-
下面是一个非常有用的工具:cdecl.ridiculousfish.com/…; cdecl.ridiculousfish.com/…
-
I asked this question too:
const char a[const]
标签: c arrays pointers char constants