C語言基礎知識--main函數
首先來看一下一個c語言main函數的标準形式:
#include <stdio.h>
int main(int argc, const char* argv[])
{
printf("hello pig!");/*代碼實現*/
return 0;
}
#include<stdio.h>這是一個頭文件,包含的是C程序運行的C語言的庫函數。int代表的是main函數的返回值是一個int, argc代表着main函數接受argc個參數,這些參數以字符串的形式存儲在argv數組中,這一部分目前可以省略,因此大多數時候我們看到的main函數是這樣的
int main()
{
printf("hello pig!");/*代碼實現*/
return 0;
}
Return 0代表着将0返回給操作系統,在UNIX中,return 0代表着沒有出錯,帶返回一個非0值得時候,意味着出錯了。
那我們再思考一下,main函數是個啥呢?為什麼一定要main,改成其他的行不?我們來試一試!
#include <stdio.h>
//int main()
int mymain() /*自定義main函數*/
{
printf("hello pig!");/*代碼實現*/
return 0;
}
這裡我們自定義一個main函數,然後編譯一下,報錯
C語言并沒有說c程序的入口一定要有main函數,但是c的編譯器在編譯完成之後需要鍊接成可執行文件,既然是可執行文件,那麼鍊接的時候就需要知道程序的入口是什麼,默認的程序入口就是賣main,那我們可以修改嗎?當然可以!我們可以自己指定程序的入口函數!
執行
gcc hello.c -e mymain -nostartfiles
-e參數指定我們的程序的入口
-nostartfiles 連接的時候不使用标準系統的啟動文件
可以看到生成了一個可執行的文件a.out
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!