自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++中的C++函數(shù)說(shuō)明

開(kāi)發(fā) 后端
C++函數(shù)是C++語(yǔ)言程序的主要組成部分,一個(gè)函數(shù)可以調(diào)用其他函數(shù)。在設(shè)計(jì)良好的程序中,每個(gè)函數(shù)都有特定的目的。

C++函數(shù)必須有main()函數(shù),main()函數(shù)是程序的入口點(diǎn),前面介紹的每個(gè)樣本程序都有main()函數(shù),但是,并非所有C++程序都有傳統(tǒng)的main()函數(shù),用C或C++寫(xiě)成的Windows程序入口點(diǎn)函數(shù)稱(chēng)為WinMain(),而不是傳統(tǒng)的main()函數(shù)。

說(shuō)明 C++ Builder GUI應(yīng)用程序有WinMain(),但隱藏起來(lái)了。C++函數(shù)使用戶無(wú)需考慮Windows程序的低級(jí)細(xì)節(jié),而可以集中考慮程序用戶界面和其它部分的創(chuàng)建。main()函數(shù)和其它函數(shù)一樣是函數(shù),有相同的構(gòu)成部分。

在32位控制臺(tái)應(yīng)用程序中,C++ Builder生成具有下列原型的缺省main()函數(shù):int main(int argc,char** argv);這個(gè)main()函數(shù)形式取兩個(gè)參數(shù)并返回一個(gè)整型值。前面說(shuō)過(guò),數(shù)值在調(diào)用函數(shù)時(shí)傳遞給函數(shù)。但對(duì)于main()函數(shù),沒(méi)有直接調(diào)用,而是在程序運(yùn)行時(shí)自動(dòng)執(zhí)行。那么,main()函數(shù)如何取得參數(shù)呢?辦法是從命令行取得。

這里要用命令行變?cè)猈M_KILLFOCUS、d和i啟動(dòng)程序grep,我們要演示如何在main()函數(shù)中將其變?yōu)閍rgc和argv.首先,整型變量argc包含命令行中傳遞的參數(shù)個(gè)數(shù),至少為1,因?yàn)槌绦蛎菜阕鲄?shù)。變量argv是個(gè)數(shù)組,包含字串的指針。這個(gè)數(shù)組包含命令行中傳遞的每個(gè)字串。本例中:

  1. 1: #include <iostream.h>   
  2.  
  3. 2: #include <conio.h>   
  4.  
  5. 3: #pragma hdrstop   
  6.  
  7. 4:   
  8.  
  9. 5: int main(int argc,char **argv)   
  10.  
  11. 6: {   
  12.  
  13. 7:cout << "argv = "argc << end1;   
  14.  
  15. 8.for (int i=0;i<argc;i++)   
  16.  
  17. 9. cout << "Parameter " << i << ": " << argv[i]<< end1;   
  18.  
  19. 10. cout << end1 << "Press any key to continue...";   
  20.  
  21. 11: getch();   
  22.  
  23. 12: return 0;   
  24.  
  25. 13: }  

將這個(gè)項(xiàng)目存為Argstest,然后不是單擊Run按鈕,而是選擇主菜單中的Project|Build All,這樣只建立項(xiàng)目而不執(zhí)行程序。項(xiàng)目建成后,選擇主菜單中的在Run|Parameters,RunParameters對(duì)話框RunParameters字段中輸入下列內(nèi)容:one two three "four five" six然后單擊Run按鈕,程序即用所指定的命令行參數(shù)運(yùn)行。

另一種辦法是用下列命令行在DOS提示下運(yùn)行程序:argstest one two three "four five" six程序運(yùn)行時(shí),它會(huì)顯示傳入的變?cè)獢?shù),然后列出每個(gè)變?cè)_\(yùn)行幾次,每次提供不同命令行變?cè)?,注意產(chǎn)生的結(jié)果。

C++函數(shù)一個(gè)強(qiáng)大的特性是能直接訪問(wèn)內(nèi)存。由于這個(gè)特性,C++函數(shù)無(wú)法阻止你寫(xiě)入特定內(nèi)存地址,即使這個(gè)地址是程序不讓訪問(wèn)的。下列代碼是合法的,但會(huì)導(dǎo)致程序或Windows崩潰:int array[5];array[5]=10;這是常見(jiàn)的錯(cuò)誤,因?yàn)閿?shù)組是以0為基數(shù)的,最大腳標(biāo)應(yīng)是4而不是5。

如果重載數(shù)組末尾,則無(wú)法知道哪個(gè)內(nèi)存被改寫(xiě)了,使結(jié)果難以預(yù)料,甚至?xí)?dǎo)致程序或Windows崩潰。這類(lèi)問(wèn)題很難診斷,因?yàn)槭苡绊懙膬?nèi)存通常要在很久以后才訪問(wèn),這時(shí)才發(fā)生崩潰(讓你莫名其中之妙)。所以寫(xiě)入數(shù)組時(shí)一定要小心。

責(zé)任編輯:chenqingxiang 來(lái)源: 51CTO
相關(guān)推薦

2010-01-26 14:23:50

C++類(lèi)

2010-01-18 13:54:28

函數(shù)

2010-01-19 13:43:59

C++函數(shù)

2010-01-14 17:08:10

C++日期

2010-01-28 11:08:09

C++變量

2010-01-28 13:27:12

C++類(lèi)定義

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2010-01-14 17:42:47

CC++

2010-01-21 09:34:57

C++語(yǔ)法

2010-01-27 16:05:06

C++堆棧

2010-01-18 15:53:27

C++析構(gòu)函數(shù)

2010-01-21 14:07:14

CC++聲明

2010-01-18 10:01:48

C++中訪問(wèn)控制

2010-01-26 13:42:28

C++指針

2010-01-25 10:54:18

C++設(shè)計(jì)

2010-01-20 10:19:55

C++數(shù)組

2010-01-28 16:31:54

C++類(lèi)型

2010-01-21 13:33:44

C++基類(lèi)

2010-01-25 10:25:19

C++變量

2020-08-21 13:20:36

C++If ElseLinux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)