Linux C語言編程基本原理(一)

一、重新認識C語言

1.1重新認識main函數

#include <stdio.h>

int main(int argc, char *argv[])
{
    return 0;
}

       大家都知道,C語言中編譯器都是識別main函數爲所有函數的入口。而對於上面這段最基礎,最常見的代碼,很多人可能都不太清楚main函數中爲何要傳入這樣的兩個參數。這兩個參數具體什麼含義呢?(最早先的main函數可能會定義爲void類型,現在都不提倡使用void類型,一般都默認使用Int類型)。

1.1.1main函數中兩個入參含義

#include <stdio.h>

int main(int argc, char *argv[])
{
     int i;
     printf("The value of argc is %d \n", argc);
     for(i=0; i< argc; i++)
     {
       printf("The value of argv is %s\n", argv[i]);
     }
     return 0;
}

    首先編譯我們編寫的main.c文件,gcc main.c -o main.out

    然後我們執行main.out時,可以附帶一些參數。比如 ./main.out -l -h

root@Linux:Clanguage# ./main.out -l -h
The value of argc is 3
The value of argv is ./main.out
The value of argv is -l
The value of argv is -h

    argc:argument count   //表示的是執行main.out程序時,參數的個數

    argv:argment vector    //表示的是執行main.out程序時,參數的內容

1.1.2main函數中return返回值得含義

      有些人可能不明白,爲什麼現在的C語言中要求我們寫main函數時,需要指定返回值(以前的定義爲void類型)。其實本質是,爲了表明程序是否正確運行。

      我們在編譯後,執行main.out文件後,其實有生成一些影藏文件,用來表明程序是否執行成功;

      在我們這裏,程序執行成功,我們可以通過echo $?  來查看程序是否執行成功,若成功則返回0;

root@Linux:Clanguage# echo $?
0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章