每次函数调用时结构指针都为NULL

时间:2019-09-12 08:25:24

标签: c memory struct

我遇到了要在C上使用struct制作“集合”的问题。

我已经初始化了两个结构指针(S1,S2)。 第一次初始化指针并在其中打印带有%p的地址有效,但是在使用S2访问功能后,则无效。 访问功能后我检查了指针。 S2的地址变为NULL。 我不知道该如何解决这个问题。

def sum(l):
    return [c[-1] for c in [[0]] for e in l if c.append(c[-1] + e) is None][-1]

1 个答案:

答案 0 :(得分:0)

addElement()中,realloc()的调用的大小仅为a->arraySize,但是您需要sizeof(char *) * a->arraySize来调用malloc()。分配的块将小于以前(因为sizeof(char *)大于1,具体取决于您的系统),并且在写入该块时,其他内存将被覆盖。