c - 为什么主函数外的 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 函数中做同样的事情,它就可以工作。但不在外面。
解决方案
a = NULL;
是一个只能放在函数体中的语句
int* a= NULL;
是初始化全局变量a的定义
推荐阅读
- webrtc - 是否可以像处理 HTTP 请求一样对 WebRTC 连接进行逆向工程或重放?
- css - Nuxt.js 的背景图像没有响应
- c++ - 为什么 C++ 在标准库中没有 std::thread_pool?
- c - 将指针分配给 int 的确切下一个内存地址
- javascript - 节点从 url 获取 json
- python - 必须在创建 QCoreApplication 之前设置属性 Qt::AA_UseSoftwareOpenGL
- python - 如何线程化两个函数,其中一个输出影响其他操作
- autodesk-forge - 将三个js模型加载到forge查看器中
- config - 带有鱼壳的sketchtool CLI
- mysql - 如何优化mysql中大数据的id和limit查询?