请问几个菜鸟级C语言的问题!

小弟初学C语言,有很多问题没弄清楚.
1.书上说main函数是程序运行的起点,而且可以出现在任何位置,开头,中间或最后.既然是起点,如果出现在最后,那之前的那些函数按什么顺序执行呢?
2.函数原型的声明有什么意义,和函数的定义有什么区别呢?
3.变量的定义和声明有什么区别,以及extern语句的使用.
希望哪位高手能解答小弟的疑惑!
要详细而且通俗易懂!!!

1、main函数可以出现在任何位置,其余函数按照main中调用顺序执行。
2、函数原型声明就是在调用具体函数之前告诉编译器这个函数的存在,包括函数名、参数个数、参数类型三个信息(所以原型声明中仅仅写明这三个信息即可,如int f(int,int);格式与调用时类似)。声明在不同源文件里可多次出现。
函数定义就是具体的函数体,函数内部的那些语句都是在给函数下定义。定义必须且只能出现一次。
函数原型的意义在于,它告诉编译器这个函数的具体信息,让编译器在编译阶段就能检查出比如函数名拼错、参数不符这些错误,避免在程序运行中出错。还有在某些特殊情况涉及到向前调用的时候,函数原型让程序不会报错。
3、变量的声明、定义特点和函数类似。变量声明不为变量分配内存空间,它的作用是描述这个变量,不创建变量,仅用于指代其他源文件里创建的变量。变量定义会给变量分配内存空间,它确定变量的类型,用于创建新的变量。
extern的作用就是“声明一个变量或函数,这个变量或函数在其他文件中出现”,如extern int my_array[]就让这个文件里的my_array指代其他文件中定义过的my_array。
被extern过的函数或变量将成为不同文件间的“全局变量”。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-02
1.C程序就是从main(主函数)函数开始执行的,main出现的位置无所谓,看你个人喜好了,可中可后,反正程序就从main的第一个花括号开始执行,一直执行到main结尾的花括号结束.
main之外的函数就像是一个个的工具,使用者是main函数就相当于使用工具的人,也主是说在main外边的函数名就是工具的名字,我想用哪个就用哪个,这就是调用,至于顺序嘛,那自然是我先用哪个就哪个先执行了,也就是看main这个主函数的调用顺序了.
2.函数原型的声明意思就是给这个函数取个名字,并告诉编译器,有这个函数的存在,并且告诉编译器这个函数是什么样子的(函数叫什么,函数有几个参数以及函数的返回值类型).
函数的定义呢,很简单,前边你告诉编译器说有这个函数,和这个函数的形式的基本描述了,那后边就要有这个函数的真正实现部分了,定义也就是编写函数体的内容了,也称实现部分.
3.变量的声明和定义和函数的解释是一样的不用多说了
extern是声明外部变量或者函数,意思是告诉编译器,这个变量或者函数是从外部引用的.
按照你提问的顺序回答完毕,还有什么不明白的么本回答被提问者采纳
第2个回答  2008-07-02
程序从main开始运行没错,在main函数之前可以写函数,但这些函数是需要调用才会运行的,在哪调用?在main函数里调用,所以先调用哪个函数就先执行哪个函数。
函数声明就是告诉编译器后面有这样的一个函数定义。变量声明也一样。有extern声明就表示这个变量可以在外部使用。
第3个回答  2008-07-02
按main函数调用的顺序执行
定义是函数实现,如果函数定义在main之后,就必须在main函数之前声明,让main函数知道有这个函数
变量与函数类似,不过系统类型的变量不需要声明,extern告诉编译器此变量或函数的定义可能在另外的文件
第4个回答  2008-07-02
1、main函数是入口,其他的按需要执行。
2、先定义后使用
相似回答