qq_52227208
一位默默无闻的码农
采纳率50%
2021-02-25 14:35

怎么在头文件定义和声明结构体指针,使得能在其他文件中使用该指针?

已结题

如图,如何才在add.cpp中调用head?

  • 点赞
  • 收藏
  • 复制链接分享

2条回答

  • weixin_42910064 泡视界 2月前

    不是,你这个问题不是很简单吗?你的提问都说了在头文件定义,其他文件用,其他文件包含这个头文件不就可以用了???

    1. 在xxx.h中定义 zhan* head = nullptr;

    2. 在在xxx.c中包含xxx.h头文件。

    3. 在xxx.c中为 head分配内存,就是malloc

    4. 在xxx.c 中调用www.c的函数,利用参数将head指针传递进去。

    这有啥问题吗?

     

    而且你用了.cpp,就用c++写啊,创建一个类,head指针定义为类的成员。

    在初始化这个类的实例的时候为head分配内存就行,这样只要其他文件获取到这个实例,就可以用你的head指针了。

     

    点赞 2 评论 复制链接分享
  • qq_43304541 付煌 2月前

    使用extern这个关键字,这个关键字就是C语言在不同的文件使用同一个变量。

    // test.h
    
    typedef struct name {
        const char *name;
        struct name *next;
    } zhan;
    
    // test.cpp
    #include "test.h"
    // 定义外部变量
    extern zhan *head = new zhan;
    
    // main.cpp
    #include <iostream>
    #include "test.h"
    
    using namespace std;
    
    // 引用外部变量
    extern zhan *head;
    
    int main() {
        head->name = "hahah";
        head->next = nullptr;
        cout << head->name << head->next;
    }
    
    点赞 1 评论 复制链接分享