使用fgets后char *值更改

所以我的第一个问题是fgets是否会覆盖其他char *值?

否则,我不太确定如何弄乱我的malloc。下面是更改值的代码。第一行是创建变量的位置。

data[dataIndex++] = createVariable(varName, 1, value, -1, line, NULL);

在其中创建变量的代码

Variable *createVariable(char *name, int type, int val, int len, int line, char *string)
    {
        Variable *var = malloc(sizeof(Variable));
        var->name = name;
        var->setting = type;
        var->num = val;
        var->length = len;
        var->line = line;
        var->string = string;
        return var;
    }

什么样的数据以及如何创建。

Variable **data;
data = malloc(4 * sizeof(Variable *));

忘记添加了,但是下面是我的fgets代码

if (fgets(line, MAX_LINE_LENGTH, in) == NULL)
        {
            break;
        }
评论