小编use*_*561的帖子

使用变量启动数组时的分段错误

这是我发布的第一个问题,如果我做任何失礼,我很抱歉

使用C.

在我的程序中,我创建了一个全局变量指针

double *correlationData;
Run Code Online (Sandbox Code Playgroud)

在main中我创建了这个局部变量:

int arrayLength = 0;
Run Code Online (Sandbox Code Playgroud)

在main中,我在for循环中有一个if语句,其中包含

arrayLength++;
Run Code Online (Sandbox Code Playgroud)

在for循环之后,我启动一个数组并将其分配给指针

double correlationArray[arrayLength];
correlationData = correlationArray; 
Run Code Online (Sandbox Code Playgroud)

但是我在代码的这一部分遇到了"分段错误",我无法弄清楚原因.如果我打印出arrayLength它是1900000.首先我想也许这对于一个数组来说太大了所以我试过了

correlationData = correlationArray[1900000];
Run Code Online (Sandbox Code Playgroud)

这没有任何错误.为什么我收到此错误?

c arrays segmentation-fault

3
推荐指数
1
解决办法
159
查看次数

标签 统计

arrays ×1

c ×1

segmentation-fault ×1