【发布时间】:2016-03-20 01:30:40
【问题描述】:
struct AD_SINT32Type* = NULL;
foo = (struct mystructArray*)malloc(sizeof(struct mystructArray));
foo[0].x = 45;
foo[0].y = 90;
coords[0] = &foo[0];
foo = (struct mystructArray*)realloc(foo, 2 * sizeof(struct mystructArray));
foo[1].x = 30;
foo[1].y = 15;
coords[1] = &foo[1];
在此代码之后"coords[1]" 指向预期,但"coords[0]" 指向重新分配之前的旧地址。有没有办法自动适配"coords[0]"指向的地址?
【问题讨论】:
-
请注意,您的代码无法处理来自
realloc的错误。 -
存储索引而不是地址。
标签: c pointers memory malloc realloc