C语言中使用预处理器指令的大型数组
以下语法是否有效?如果是,请解释其工作原理C语言中使用预处理器指令的大型数组,c,arrays,c-preprocessor,C,Arrays,C Preprocessor,以下语法是否有效?如果是,请解释其工作原理 double array[SIZE][SIZE] = { #include "float_values.txt" } 是的,这是有效的C语法 在C++和C++中,代码>包含指令非常简单:它们只是复制和粘贴你正在使用的文件的内容,替换包含< /Cord>指令> < /P> 例如,如果“float_values.txt”文件如下所示: {1.0, 2.0}, {3.0, 4.0} double array[SIZE][SIZE] = {
double array[SIZE][SIZE] = {
#include "float_values.txt"
}
是的,这是有效的C语法 在C++和C++中,<>代码>包含指令非常简单:它们只是复制和粘贴你正在使用的文件的内容,替换<代码>包含< /Cord>指令> < /P> 例如,如果“float_values.txt”文件如下所示:
{1.0, 2.0},
{3.0, 4.0}
double array[SIZE][SIZE] = {
{1.0, 2.0},
{3.0, 4.0}
}
然后预处理器会将您的代码转换为如下所示:
{1.0, 2.0},
{3.0, 4.0}
double array[SIZE][SIZE] = {
{1.0, 2.0},
{3.0, 4.0}
}
但是,必须确保正确定义了
SIZE
。是的,此代码段有效
预处理器将找到#include
指令,并在给定的搜索路径中搜索名为float_values.txt
的文件。然后将获取该文件的内容,并用该文件的内容替换#include“float_values.txt”
。
结果代码是否有效完全取决于文件的内容。
为了有效,该文件必须包含初始化二维双精度数组的数据,但所包含的值不得超过SIZE
的值所允许的值。
较小的值就可以了,因为剩余的双精度值将默认初始化。您尝试过吗?C预处理器…否;右大括号后面缺少分号,除非包含的文件包含以下内容:
{{1,2},{3,4};intabs(inti){return(i<0)?-i:i;
。