是。在C語言中,一個函數(shù)的函數(shù)名其實就是一個地址,即該函數(shù)的入口地址。我們可以聲明一個函數(shù)指針,并將函數(shù)的入口地址(函數(shù)名)賦值給這個指針,然后使用這個指針來調(diào)用具體的函數(shù)。
為臨洮等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及臨洮網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站設計制作、做網(wǎng)站、臨洮網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
經(jīng)??吹紺語言的main函數(shù)定義為:
int main(int argc, char *argv[]),但是在函數(shù)體中經(jīng)常是根本不用main函數(shù)中的這兩個參數(shù),這兩個參數(shù)用于在運行程序時,從外部給程序傳遞參數(shù),其中argc中保存了參數(shù)的個數(shù),argv中分別保存了各個參數(shù).
例如一個程序的main()函數(shù)頭部形如int main(int argc, char *argv[]),編譯鏈接后生成的可執(zhí)行文件名為a.exe,那么請注意下面的調(diào)用:
a.exe abc def
在上面的命令行中,a.exe是要運行的程序名稱,后面的abc和def就是傳入程序的兩個參數(shù),這兩個參數(shù)就通過argc和argv傳入程序,注意這些參數(shù)都是字符串。
通過上面的調(diào)用,在這個程序中,argc=3,a.exe是第一個參數(shù),這個字符串將保存在argv[0]中,abc和def分別是第二和第三個參數(shù),它們分別被保存在argv[1]和argv[2]中
要知道m(xù)ain函數(shù)也是由其他的程序調(diào)用的。
我們編寫的程序,最終是不存在所謂的函數(shù)名的,有的只有內(nèi)存單元地址0xffeedd00.
我們的程序執(zhí)行時,程序加載到內(nèi)存,比方說整個程序所占用的內(nèi)存范圍是0xffee0000 ~ 0xffeedd00,這么多。
假設程序有一個小函數(shù)fun(),那么它的范圍可能是0xffee0000~0xffee00ff。
那么函數(shù)fun()的入口地址是多少? 0xffee0000。。
那么函數(shù)名fun實際上就是0xffee0000的別稱。
你用一個指針指向這個函數(shù),那么你把 指針 = 函數(shù)名,實際就是把0xffee0000這個內(nèi)存單元的地址給指針p。
所以,結論是:
函數(shù)名 是 程序在執(zhí)行時, 函數(shù)所占內(nèi)存單元塊的 首地址 的別稱。
main()
{
....
}
這就是入口點,表示程序由此開始它的旅程,大括弧內(nèi)就是程序的本身了,從這里一條一條開始執(zhí)行。
沒定義就是沒有main()函數(shù)