如何检查整数指针数组的C中的NULL?

时间:2016-12-08 04:56:00

标签: c arrays null heap

我有一个固定大小的整数指针数组,我只想在需要时从堆中分配,但我似乎无法使以下的NULL检查工作。 malloc永远不会先被调用。

int* seqList[n];
for (int i = 0; i < q; i++) {
    int type, x, y;
    scanf("%d", &type);
    scanf("%d", &x);
    scanf("%d", &y);
    if (type == 1) {
        if (seqList[x] != NULL) {
            int size = sizeof(seqList[x])/sizeof(int*);
            seqList[x] = realloc(seqList[x], (size + 1)*sizeof(int*));
            seqList[x][size] = y;
        }
        else {
            seqList[x] = malloc(sizeof(int*));
        }
    }
    else{
        ...
    }
}

2 个答案:

答案 0 :(得分:1)

谢谢,BLUEPIXY和AnT。似乎没有任何其他解决方案,但是如上所述初始化数组here

for (i = 0; i < n; i++)
    seqList[i] = NULL;

答案 1 :(得分:-1)

你必须将它初始化为'NULL'以NULL检查指针数组。

  int* seqList[n] = {NULL};

for ( i =0 ; i < n ; i++)
seqList[i] = NULL;