这次有个作业,老师在头文件中给出了2个例子
一个头文件"数据宣称"
const int size=30
struct student
{
int code;
char name[20];
char sex[4];
int grade[5];
}student date[size];一个头文件"数据定义"
const int size=30
extern struct student
{
int code;
char name[20];
char sex[4];
int grade[5];
}student date[size];这2个头文件大体一样,可是实在对这个问题很疑惑,在"定义"中只不过比"宣称"多了个extern,似乎是定义静态局部变量,可是与"宣称"有个关系,在下实在不明白,特此向各位提问,拜求解惑!!!!!!!
一个头文件"数据宣称"
const int size=30
struct student
{
int code;
char name[20];
char sex[4];
int grade[5];
}student date[size];一个头文件"数据定义"
const int size=30
extern struct student
{
int code;
char name[20];
char sex[4];
int grade[5];
}student date[size];这2个头文件大体一样,可是实在对这个问题很疑惑,在"定义"中只不过比"宣称"多了个extern,似乎是定义静态局部变量,可是与"宣称"有个关系,在下实在不明白,特此向各位提问,拜求解惑!!!!!!!
解决方案 »
- WinInet如果通过post提交表单到Web服务器
- 请教一个关于可靠UDP的问题?
- windows默认音频设备修改问题!!
- 打开700M大小以上的文件,用什么方式打开和读取比较好?机子差不多停止运行这样。
- 如何得到windows系统下进程的起始地址和结束地址(第二次问,急切盼复)
- WM_NOTIFY消息的参数看不明白
- 哪位帮忙写这个程序?用C++写.拜托了,我今天要交作业.55555
- 斑竹,请赐教哦!
- 谁有UDP通讯的例子给我一个好吗?
- ???如何传参???
- 谁能告诉我mp1,mp2,mp3以及MPEG1,MPEG2,MPEG3(Layer1,2,3)他们之间的联系,有何区别?
- 请教ftp客户端数据接收
申明是告诉编译器某个符号的意义(函数名称或者变量?),而定义是真实分配空间。
最直接的感受是:如果没有申明,你将得到编译错误;而没有定义你将得到链接错误。在c语言中,申明的关键字是extern。如果编译器遇到一个没有申明的定义,编译器将会自动申明这个符号。