c-如何释放我的自定义结构



所以我在一个文件中写了两个结构:

struct _Variable {
    char *variableName;
    char *arrayOfElements;
    int32_t address;
};
typedef struct _Variable Variable;
struct _VariableVector {
    int size; // elements full in array
    int capacity; // total available elements
    Variable *variables;
};
typedef struct _VariableVector VariableVector;

我还为每个实现了一个init方法:

Variable* initVariable(char *variableName, char *arrayOfElements,
        int32_t address) {
    Variable* initializedVariable = malloc(sizeof(Variable));
    if (initializedVariable != NULL ) {
        initializedVariable->variableName = variableName;
        initializedVariable->arrayOfElements = arrayOfElements;
        initializedVariable->address = address;
        return initializedVariable;
    } else {
        return NULL ;
    }
}
VariableVector* initVariableVector() {
    VariableVector* initializedVariableVector = malloc(
            sizeof(VariableVector));
    if (initializedVariableVector != NULL ) {
        initializedVariableVector->size = 0;
        initializedVariableVector->capacity = VECTOR_INITIAL_CAPACITY;
        initializedVariableVector->variables = malloc(
                sizeof(Variable) * VECTOR_INITIAL_CAPACITY);
        return initializedVariableVector;
    } else {
        return NULL ;
    }
}

现在我想写一个freeVariable(Variable* variable)方法和一个freeVariableVector(VariableVector* variableVector)方法。但我不知道怎么做?

只需在要释放的指针上调用free。正如你在另一个几乎相同的问题中所回答的那样。

相关内容

  • 没有找到相关文章

最新更新