首页 > 解决方案 > 定义数组时如何避免C中的分段错误?

问题描述

我有一个数组A1[ ]={1,0,1,1,..'X',0,1,'X',.1,0...},大到 10 兆二进制整数和一些“X”值(作为 ASCII 整数值),我正在考虑使用malloc,但我已经定义了数组(我只是复制并粘贴之前的值运行我的代码)。关于如何避免分段错误的任何其他建议?到目前为止,这是我得到的错误:(。

编码:

#include <stdio.h>
#include <stdlib.h>

int main(void) {

    //int A[]={'x','x',1,0,'x',0,'x',1,1,1,...};//up to 10M values
    int A[]={0,'x',1,'x',1,0,'x',0,'x','x',1,'x',0,'x','x','x','x','x','x',0};
    int j;

    #define n (sizeof(A)/sizeof(*A))     // bits
    printf("Patt size= %d\n",n);

    /*Code will be added here to make some calculations with A*/

    printf("A =");                       // show input
    for(j=0; j<n; j++)
        printf(" %d",A[j]);

    return 0;
}

标签: cmemory-managementsegmentation-fault

解决方案


推荐阅读