将指针传递给函数并返回意外地址时出现问题

阿维·费德曼

将ptr传递给函数loadSignatures时遇到问题。在loadSignatures函数的末尾,virusList具有我想要的地址,但是随后它返回到具有意外地址的主地址。

void loadSignatures(char* fileName, link* virusList){
    FILE* f = fopen(fileName, "rb");
    virus* v = readVirus(f);
    while (v){
        virusList = list_append(virusList,v);
        v = readVirus(f);
    }
    fclose(f);
}

int main(int argc, char **argv) {
    link *virusList = NULL;
    char fileName[30];
    gets(fileName);
    loadSignatures(fileName, virusList);
    list_print(virusList, stdout);
    list_free(virusList);
}

即使我尝试这样做:

link* loadSignatures(char* fileName, link* virusList){
    FILE* f = fopen(fileName, "rb");
    virus* v = readVirus(f);
    while (v){
        virusList = list_append(virusList,v);
        v = readVirus(f);
    }
    fclose(f);
    return virusList;
}

int main(int argc, char **argv) {
    link *virusList = NULL;
    char fileName[30];
    gets(fileName);
    virusList = loadSignatures(fileName, virusList);
    list_print(virusList, stdout);
    list_free(virusList);
}

它不能正常工作。

我将很高兴知道处理此问题的正确方法。

Shlomi Agiv

此行更改virusList的本地副本:

virusList = list_append(virusList,v);

要更改virusList,您需要传递virusList的地址。如:

void loadSignatures(char* fileName, link** virusList){
    FILE* f = fopen(fileName, "rb");
    virus* v = readVirus(f);
    while (v){
        *virusList = list_append(*virusList,v);
        v = readVirus(f);
    }
    fclose(f);
}

并称之为:

loadSignatures(fileName, &virusList);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数组传递给setData()函数时出现问题

来自分类Dev

将字节数组传递给JNI函数时出现问题

来自分类Dev

将方法传递给新线程时出现问题

来自分类Dev

将struct传递给函数时出现意外结果

来自分类Dev

将指针传递给函数时出现分段错误

来自分类Dev

更改链接列表中的指针的地址时出现问题

来自分类Dev

将一个命令的输出传递给其他命令时出现问题

来自分类Dev

C#-将参数传递给线程时出现问题

来自分类Dev

将Loop值传递给Ansible调试消息时出现问题

来自分类Dev

将Python字符串传递给SQL查询时出现问题

来自分类Dev

将php变量作为参数传递给mysql查询时出现问题

来自分类Dev

使用PInvoke将句柄传递给托管对象时出现问题

来自分类Dev

sprintf打印或返回IP地址时出现问题

来自分类Dev

传递给函数时指针值意外更改

来自分类Dev

在C函数中修改指针时出现问题

来自分类Dev

将指针传递给函数并更改其指向的地址

来自分类Dev

将字符串地址作为参数传递给指针,指针传递给char函数

来自分类Dev

将结构指针传递给 C 中的函数时出现奇怪的错误

来自分类Dev

仅当将指针作为参数传递给函数时,类型别名问题才存在吗?

来自分类Dev

将参数从android传递到php时出现问题

来自分类Dev

将一个命令的输出传递给另一个命令时出现问题

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将向量传递给C ++中的函数时出现类型问题

来自分类Dev

设置DNS地址时出现问题

来自分类Dev

无法将地址传递给指针

Related 相关文章

热门标签

归档