所以我是 C 的新手,我创建了一些简单的程序来帮助我掌握一些东西。
假设我有一个结构如下:
typedef struct {
char* field;
} something;
我为其中的 10 个动态分配空间,如下所示:
something* stuff = calloc(10, sizeof(something));
假设我想删除这些东西之一。这样做是否有意义:
free(&stuff[4]);
或者,只有当我将所有这些指针都指向某物而不是连续的某物块时,这才有意义?
如果我这样做并且它有效,将:
stuff[4] = malloc(sizeof(something))
那么我只需要在该索引中重新添加一个“东西”吗?
或者,一般来说,我们是否通常处理这样的结构,例如包含指向结构的指针的内存块,而不是结构本身?
谢谢。