gpt4 book ai didi

c - 在 c 中使用箭头运算符运行 chdir 然后打印的段错误

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:15 25 4
gpt4 key购买 nike

#include <stdio.h>


typedef struct test{
int app;
}test;

int main()
{
int fi;
FILE* fp;
test* banned;
banned->app=2;
fi=chdir("/home");
printf("%d", fi);
return 0;
}

这是一个更大计划的一部分。我需要能够从读入文件导航到目录,并将信息放入结构中。但是,每当该程序编译时都会出现段错误。在 gcc 编译上运行 gdb

#0  0x08048421 in main ()

这是编译器的问题还是代码中缺少启用此功能的内容?

注意:这已经解决了我是一个彻头彻尾的白痴,并试图从我刚刚在脑海中构想的帽子中拉出一只兔子......或者说我没有将我的引用与实际值联系起来,所以编译器抛出了一个合身。解决方案是创建一个“真正的结构”,然后通过 reference=&normalpointer 将引用指针指向它,感谢您的帮助

尽管 id 喜欢在没有引用的情况下使用结构,但我需要将其传递给不同的函数。但是提到的解决方案比我做的要好

最佳答案

您正在写下一个未初始化的指针,因为您已将 banned 定义为指向 test 类型结构的指针,而不是 test< 类型的实例。将 test* banned 更改为 test banned。然后,您将使用 . 而不是 -> 来访问 banned 的成员,例如banned.app=2

关于c - 在 c 中使用箭头运算符运行 chdir 然后打印的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23121207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com