1.代码可以这样写,第一次看到,但确实是正确的!
int value="abc"[2];
2.C 语言允许初始化式(不包括空字符)与变量有完全相同的长度:
char date 3[7] = " June 14";
编译器把初始化式中的字符简单地复制到date 3 中:
没有空间给空字符,所以编译器也不会试图存储一个空字符。
3.↓问:字符串字面量可以有多长?
↑答:按照C 语言的标准,编译器必须最少支持 509 个字符长的字符串字面量。(没错,就是 509 。不要怀
疑。)许多编译器会允许更长的字符串字面量。
↓问:结构可否同时有标记名和类型名?(p .233 )
↑答:可以。事实上,虽然不要求,但是标记名和类型名甚至可以是一样的:
typedef struct part {
int number ;
char name [ NAME _ LEN +1 ] ;
int on_ hand ;
} part ;