Tag: 初始化程序

什么是c中的指定初始值设定项?

我知道这可能是一个基本问题。 我有一个任务,要求我理解c中的指定初始化器是什么以及用一个初始化变量意味着什么。 我对这个术语不熟悉,也找不到任何结论性的定义。 我一直在寻找不同地方的答案,但找不到任何答案。 谢谢您的帮助!

如何定义外部变量和声明?

维基说: extern关键字表示“声明而不定义”。 换句话说,它是一种显式声明变量或强制声明而无需定义的方法。 也可以明确定义变量,即强制定义。 这是通过为变量分配初始化值来完成的 。 这意味着, 初始化变量的extern声明用作该变量的定义 。 所以, /* Just for testing purpose only */ #include extern int y = 0; int main(){ printf(“%d\n”, y); return 0; } 应该是有效的( 在C ++ 11中编译 )。 但是当在GCC 4.7.2中使用选项-Wall -Wextra -pedantic -std=c99进行编译时,会产生一个警告: [Warning] ‘y’ initialized and declared ‘extern’ [enabled by default] 哪个不应该。 据我所知, extern int y = […]

Char数组初始化困境

考虑以下代码: // hacky, since “123” is 4 chars long (including terminating 0) char symbols[3] = “123”; // clean, but lot of typing char symbols[3] = {‘1’, ‘2’, ‘3’}; 所以, 扭曲实际上是在对代码的注释中描述的,有没有办法用字符串文字初始化char[]而不终止零? 更新 :看起来IntelliSense确实是错误的,这种行为在C标准中明确定义。