_X_l 2021-08-02 16:53 采纳率: 72.7%
浏览 125
已结题

c语言,定义全局指针变量并分配空间时报错。


#include <stdio.h>
#include <stdlib.h>
#define scanf scanf_s

typedef struct Btnode {
    int value;
    char ltag, rtag;
    struct Btnode *lchild, *rchild;
} btnode;

btnode *pre=(btnode *)malloc(sizeof(btnode));

最后一句会报错,请教一下。

  • 写回答

4条回答 默认 最新

  • 八云黧 2021-08-02 17:00
    关注

    任何函数都不能在全局情况下被调用,所以你不能直接为全局变量通过malloc分配空间
    你可以只声明这个全局变量,然后再main函数第一行用malloc给它赋值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月10日
  • 已采纳回答 8月2日
  • 创建了问题 8月2日