首页 > 解决方案 > 为什么主函数外的 NULL 赋值会返回错误

问题描述

这段代码返回错误。

#include<stdio.h>
#include<stdlib.h>

int* a;
a = NULL;

int main(){
    printf("works");
    return 0;
}

而这个不...

#include<stdio.h>
#include<stdlib.h>

int* a= NULL;

int main(){

    printf("works");
    return 0;
}

有什么区别,为什么这会显示重新声明错误?如果我在 main 函数中做同样的事情,它就可以工作。但不在外面。

标签: cpointers

解决方案


a = NULL;是一个只能放在函数体中的语句

int* a= NULL;是初始化全局变量a的定义


推荐阅读