04 3 main函式的renturn及引數

2021-10-14 08:50:00 字數 1731 閱讀 6167

main函式中的return

$ vi main.c
編寫main函式的內容,main函式的注意其括號裡擁有完整的引數

#include

intmain

(int ar**,

char

* argc)

第一條指令gcc執行成功就會接著執行main.out指令

$ gcc main.c -o main.out && ./main.out

hello world

$ ls

main.c main.out

// 若直接執行,也可以執行

$ ./main.out

hello world

如何判斷是否正常執行?

每次編譯之後輸入echo $?,若輸出為0,則表示程式正常執行

$ echo

$?0

main函式中的引數

copy 上述的main.c檔案並編寫新的檔案

cp main.c main2.c

vi main2.c

這裡我們試著列印出ar**這個整數,需要系統進行傳參,所以就有main函式裡的引數

#include 

int main(int ar**, char* argc)

$ gcc main2.c -o main2.out

$ ls

main2.c main2.out main.c main.out

$ ./main2.out

ar** is 1

我們可以知道ar**應該是乙個整數,但為什麼是1呢,這裡我們做個實驗

$ ./main2.out

ar** is 1

$ ./main2.out -l

ar** is 2

$ ./main2.out -l -a

ar** is 3

這裡我們可以知道實際就是傳的引數有幾個,那麼我們就要考慮我們不僅要知道有幾個引數,還要知道引數的具體型別

$ cp main2.c main3.c

$ vi main3.c

編寫**如下,cat main3.c可檢視**內容,其中%s表示字串

#include

intmain

(int ar**,

char

* argc)

return0;

}

編譯並驗證

$ gcc main3.c -o m3.out

$ ls

m3.out main2.c main2.out main3.c main.c main.out

$ ./m3.out -l -a adsf sdg

ar** is 5

argc[0] is ./m3.out

argc[1] is -l

argc[2] is -a

argc[3] is adsf

argc[4] is sdg

可看到我們輸入了5個引數,並顯示了5個引數的內容

學習結束啦!

main函式的入口函式

作業系統裝載程式之後,首先執行的 並不是main的第一行,而是某些別的 這些 負責準備好main函式執行所需要的環境,並且負責呼叫main函式,執行這些 的函式稱為入口函式或入口點 entry point 視平台的不同而有不同的名字。程式的入口點實際上是乙個程式的初始化和結束部分,它往往是執行庫的一...

main函式的引數

c程式最大的特點就是所有的程式都是用函式來裝配的。main 稱之為主函式,是所有程 序執行的入口。其餘函式分為有參或無參兩種,均由main 函式或其它一般函式呼叫,若呼叫 的是有參函式,則引數在呼叫時傳遞。main f1 int a,int b f2 int m,int n 在前面課程的學習中,對m...

main函式的引數

main函式可以不帶引數,也可以帶引數,這個引數可以認為是 main函式的形式引數。c語言規定main函式的引數只能有兩個,習慣上這兩個引數寫為argc和argv。因此,main函式的函式頭可寫為 main argc,argv c語言還規定argc 第乙個形參 必須是整型變數,argv 第二個形參 ...