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