C語言的入口函數(shù)的實(shí)現(xiàn)
一、問題
C語言程序是如何調(diào)用執(zhí)行的?C語言的入口函數(shù)是什么?
對(duì)于不同的程序函數(shù)入口是不同的。
- main()是WINDOWS的控制臺(tái)程序(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ù)體由大括號(hào) { } 括起來。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)行??刂婆_(tái)程序的入口是 main,Win32、Win64程序的入口是 WinMain。
到此這篇關(guān)于C語言的入口函數(shù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C語言 入口函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(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ù)用法及知識(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í)現(xiàn)簡(jiǎn)單的五子棋游戲
這篇文章主要為大家詳細(xì)介紹了c語言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
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-10
C++11/14 線程調(diào)用類對(duì)象和線程傳參的方法
這篇文章主要介紹了C++11/14 線程調(diào)用類對(duì)象和線程傳參的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
Qt qml實(shí)現(xiàn)動(dòng)態(tài)輪播圖效果
這篇文章主要為大家詳細(xì)介紹了Qt和qml實(shí)現(xiàn)動(dòng)態(tài)輪播圖效果的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下2024-12-12
C語言對(duì)于volatile與gcc優(yōu)化的探究
這篇文章主要介紹了C語言對(duì)于volatile與gcc優(yōu)化的探究,volatile是一個(gè)特征修飾符(type specifier) volatile的作用是作為指令關(guān)鍵字,確保本條指令不會(huì)因編譯器的優(yōu)化而省略,且要求每次直接讀值。這是百度百科的介紹,那編譯器是具體是怎么優(yōu)化的呢2023-02-02
VScode+ESP32簡(jiǎn)單環(huán)境搭建
本文章向大家介紹ESP32-C3搭建環(huán)境教程,主要包括ESP32-C3搭建環(huán)境教程使用實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
C++實(shí)現(xiàn)DES加密算法實(shí)例解析
這篇文章主要介紹了C++實(shí)現(xiàn)DES加密算法實(shí)例解析,是一個(gè)很實(shí)用的功能,需要的朋友可以參考下2014-08-08
C/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包的完美過程
UDP 是一種無連接、輕量級(jí)的傳輸層協(xié)議,與 TCP 相比,它不提供可靠性、流控制和錯(cuò)誤恢復(fù)機(jī)制,但卻更加簡(jiǎn)單且具有較低的開銷,這篇文章主要介紹了C/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包,需要的朋友可以參考下2023-11-11

