C語言的入口函數(shù)的實現(xiàn)
一、問題
C語言程序是如何調(diào)用執(zhí)行的?C語言的入口函數(shù)是什么?
對于不同的程序函數(shù)入口是不同的。
- main()是WINDOWS的控制臺程序(32BIT)入口或DOS程序(16BIT)入口。
- WinMain()是WINDOWS的GUI程序入口。
- wmain()是UNICODE版本的main()。
- _tmain()是個宏,如果是UNICODE則他是wmain()否則他是main()。
二、解答
在C語言中 ,main()函數(shù)數(shù)稱為主酗數(shù),作為程序的入口函數(shù)。程序的執(zhí)行從main()函數(shù)開始,調(diào)用其他函數(shù)后流程返回到main()函數(shù),最后在main()函數(shù)中結束整個程序的運行。main()函數(shù)是系統(tǒng)定義的,也是由系統(tǒng)調(diào)用的。
每一個C語言程序都必須有一個且只能有一個main()函數(shù)。函數(shù)體由大括號 { } 括起來。main()函數(shù)可以定義為下面的形式:
1、無參數(shù)形式
一般使用的main()函數(shù)都是無參數(shù)的,由系統(tǒng)直接調(diào)用。其定義格式為:
int main() int main(void)
2、有參數(shù)形式
在運行程序時,有時需要將必要的參數(shù)傳遞給主數(shù),主函數(shù)main()的形式參數(shù)如下。
main (int argc,char* argv[])
兩個特殊的內(nèi)部形參argc 和argv 是用來接收命令行實參的,這是只有主函數(shù)main()才能具有的參數(shù)。
(1)argc 參數(shù)
argc 參數(shù)保存命令行的參數(shù)個數(shù),是個整型變量。這個參數(shù)的值至少是1,因為至少程序名就是第一個實參。
(2)argv 參數(shù)
argv 參數(shù)是一個指向字符指針數(shù)組的指針,在這個數(shù)組里的每一個元素都指向命令行實參。所有命令行實參都是字符串,任何數(shù)字都必須由程序轉變?yōu)檫m當?shù)母袷健?/p>
三、總結
main0函數(shù)是C語言程序的入口函數(shù),也是一個C 語言程序中必不可少的函數(shù)。如果程序中沒有 main0函數(shù),則程序?qū)o法運行??刂婆_程序的入口是 main,Win32、Win64程序的入口是 WinMain。
到此這篇關于C語言的入口函數(shù)的實現(xiàn)的文章就介紹到這了,更多相關C語言 入口函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C語言數(shù)據(jù)結構之動態(tài)分配實現(xiàn)串
這篇文章主要介紹了C語言數(shù)據(jù)結構之動態(tài)分配實現(xiàn)串的相關資料,希望通過本文能幫助到大家,讓大家實現(xiàn)數(shù)據(jù)結構中動態(tài)分配實現(xiàn)串的實例,需要的朋友可以參考下2017-10-10C++11/14 線程調(diào)用類對象和線程傳參的方法
這篇文章主要介紹了C++11/14 線程調(diào)用類對象和線程傳參的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01C/C++ 運用Npcap發(fā)送UDP數(shù)據(jù)包的完美過程
UDP 是一種無連接、輕量級的傳輸層協(xié)議,與 TCP 相比,它不提供可靠性、流控制和錯誤恢復機制,但卻更加簡單且具有較低的開銷,這篇文章主要介紹了C/C++ 運用Npcap發(fā)送UDP數(shù)據(jù)包,需要的朋友可以參考下2023-11-11