我知道C中的全局变量有时会有extern关键字.什么是extern变量?宣言是什么样的?它的范围是什么?
这与跨源文件共享变量有关,但这是如何工作的?我在哪里用extern?
我读了一本关于试探性定义的书,
暂定定义是没有存储类说明符且没有初始化程序的任何外部数据声明.如果到达翻译单元的末尾并且没有出现具有标识符的初始化器的定义,则暂定定义变为完整定义
请解释上述声明的含义.还有,声明和定义之间的区别?由于这个原因我混淆了.:(为什么这个程序没有错误:
#include <stdio.h>
int a; //Tentative definition
int a; //similarly this declaration too.
int main() //not getting any error with this code why its so?
{
printf("hi");
}
Run Code Online (Sandbox Code Playgroud)
此外,此代码有什么问题:
#include<stdio.h>
printf("Hi");
int main(void){
return 0;
}
Run Code Online (Sandbox Code Playgroud)