C语言编译程序的顺序,C语言函数定义顺序
從昨天到現(xiàn)在的學(xué)習(xí)之路還算平滑,也可能是之前學(xué)習(xí)編程語言打下的基礎(chǔ)。在學(xué)習(xí)c的過程中有個(gè)非常在意的問題就是函數(shù)定義的順序。
比如說在程序中定義一個(gè)函數(shù):
void sayHello(){
printf("Hello World");
}
void main(){
sayHello();
}
上面是個(gè)很簡單的sayHello的函數(shù),并且完全合法。
下面是另外一個(gè)程序:
void main(){
sayHello();
}
void sayHello(){
printf("Hello World");
} 這個(gè)時(shí)候我們可以比較一下這2組代碼,很明顯后面的程序中sayHello()函數(shù)被定義在主函數(shù)的后面。這時(shí)候編譯器就會(huì)報(bào)錯(cuò)(我用的IDE是xcode 6版本,并沒有使用其他的,所以其他的IED會(huì)不會(huì)報(bào)錯(cuò)我不得而知)。
由于這個(gè)東西我想了很久發(fā)現(xiàn)并沒有語法上的錯(cuò)誤,還把書上的函數(shù)定義的章節(jié)看了下,也沒問題。最后還是網(wǎng)上找到了答案。
在c語言中,函數(shù)的定義要在主函數(shù)之前,這樣我們才可以直接在主函數(shù)中調(diào)用。反之我們需要在主函數(shù)中先申明你定義的這個(gè)函數(shù)。
如下代碼:
void main(){
void sayHello();
sayHello();
}
void sayHello(){
printf("Hello World");
} 上面那段代碼加入了對(duì)自定義函數(shù)的申明,所以是合法的。
總結(jié)
以上是生活随笔為你收集整理的C语言编译程序的顺序,C语言函数定义顺序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言函数库之字符串拷贝函数(strin
- 下一篇: 湖北省软件行业协会会员单位全名录(201