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

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日

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考