そのような方法で定義された構造体を持っているので、メモリを割り当てる必要があります
typedef struct string_collection {
char **c;
size_t current, allocated;
} TSC, *ASC;
だから私はこのコードを持ってきました、それは正しいですか、それとも何かを見逃しましたか? 最初に構造体記述子を割り当て、次に文字列への d ポインターに十分なスペースを割り当てます
ASC AlocSC(size_t d)
{
ASC sc;
sc = (TSC*) malloc(sizeof(TSC));
if (!sc) return NULL;
sc->c = calloc(d, sizeof(char *));
if (!sc->c) {
free(sc);
return NULL;
}
sc->current = 0;
sc->allocated = d;
return sc;
}