Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 错误:可变大小的对象可能未初始化|_C - Fatal编程技术网

C 错误:可变大小的对象可能未初始化|

C 错误:可变大小的对象可能未初始化|,c,C,我的代码如下: const size_t NUM_P = 100; int main (viod) { char *pS[NUM_P] = { NULL}; /* Array of string pointer */ /* Other code */ } 我的编译器是代码块,当NUM_p更改为数字(如“12或35..)时,错误将被清除,我不知道错误的根本原因,或者这是我的编译器问题。在C中,不允许为VLA提供初始值设定项 我建议对数组维度使用编译时常量;那么它

我的代码如下:

const size_t NUM_P = 100;
int main (viod)
{
   char *pS[NUM_P] = { NULL};            /* Array of string pointer */
   /* Other code */
}

我的编译器是代码块,当NUM_p更改为数字(如“12或35..)时,错误将被清除,我不知道错误的根本原因,或者这是我的编译器问题。

在C中,不允许为VLA提供初始值设定项

我建议对数组维度使用编译时常量;那么它不是VLA:

#define NUM_P 100

int main(void)
{  
    char *pS[NUM_P] = { 0 };
}

由于历史原因,
const
变量在C中不被视为常量表达式。

在C中,不允许为VLA提供初始值设定项

我建议对数组维度使用编译时常量;那么它不是VLA:

#define NUM_P 100

int main(void)
{  
    char *pS[NUM_P] = { 0 };
}

由于历史原因,
const
变量在C中不被视为常量表达式。

在C中,不允许为VLA提供初始值设定项

我建议对数组维度使用编译时常量;那么它不是VLA:

#define NUM_P 100

int main(void)
{  
    char *pS[NUM_P] = { 0 };
}

由于历史原因,
const
变量在C中不被视为常量表达式。

在C中,不允许为VLA提供初始值设定项

我建议对数组维度使用编译时常量;那么它不是VLA:

#define NUM_P 100

int main(void)
{  
    char *pS[NUM_P] = { 0 };
}

<> P>由于历史原因,在C++中,<>代码> const <代码>变量不被认为是常数表达式,在C++中是有效的,但在C.中不可用,在C.

中可以使用预处理器符号来实现。
#define NUM_P 100
int main (viod)
{
   char *pS[NUM_P] = { NULL};
}

这在C++中是有效的,但在C.中不可用。

#define NUM_P 100
int main (viod)
{
   char *pS[NUM_P] = { NULL};
}

这在C++中是有效的,但在C.中不可用。

#define NUM_P 100
int main (viod)
{
   char *pS[NUM_P] = { NULL};
}

这在C++中是有效的,但在C.中不可用。

#define NUM_P 100
int main (viod)
{
   char *pS[NUM_P] = { NULL};
}

问题的根源在于
NUM\u p
是一个变量,即使它是一个
const
变量


#define NUM_p 100
替换其声明,您的代码将再次编译。

问题的根源在于
NUM_p
是一个变量,即使它是
常量
也是如此


#define NUM_p 100
替换其声明,您的代码将再次编译。

问题的根源在于
NUM_p
是一个变量,即使它是
常量
也是如此


#define NUM_p 100
替换其声明,您的代码将再次编译。

问题的根源在于
NUM_p
是一个变量,即使它是
常量
也是如此


将其声明替换为
#define NUM_p 100
,您的代码将再次编译。

好的,这意味着常量变量仍然是变量,但我们需要常量?好的,这意味着常量变量仍然是变量,但我们需要常量?好的,这意味着常量变量仍然是变量,但我们需要常量?好的,这意味着常量变量仍然是变量,但我们需要一个常量吗?