首页 > 解决方案 > 无法为结构成员指针赋值

问题描述

我试图在 C 中的这个函数中返回一个服务器结构指针。当我编译这个代码时没有问题,但是在执行过程中,行 test->port 导致了 AddressSanitizer 问题。

---头文件---

struct gfserver_t{ //fxw
        int port;
        int max_npending;
    };

---c 文件---

gfserver_t* gfserver_create(){
    struct gfserver_t* test;
    memset(&test, 0, sizeof(test));
    test->port=22;//==30022==ERROR: AddressSanitizer: SEGV on unknown address
    return test;
}

我尝试了 gdb,查找 AddressSanitizer 的原因(取消引用空指针),以及如何设置指针结构成员,但仍然不明白我是如何遇到这个问题的。任何指针都会很棒。

标签: c

解决方案


推荐阅读