首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

C++ 函式全解析:main 入口點、命令列參數與記憶體存取風險

     編輯:C++ 入門

C++ 程式必須有 main() 函式作為入口點,但 Windows 程式入口為 WinMain()。C++ Builder GUI 應用隱藏了 WinMain(),讓開發者專注介面建立。32 位元主控台應用中,C++ Builder 產生預設原型:int main(int argc, char** argv),取兩參數回傳整數。參數從命令列取得:argc 為參數個數(至少 1,含程式名),argv 為字串指標陣列。

實作範例:專案建置後,在 Run|Parameters 傳入 one two three "four five" six,程式列出每個參數。或在 DOS 提示字元執行 argstest one two three "four five" six。

記憶體直接存取的雙面刃

C++ 函式能直接存取記憶體,無法阻止寫入特定位址(即使程式不允許存取)。int array[5]; array[5]=10; 合法但導致崩潰——陣列以 0 為基,最大索引 4 非 5。越界寫入無法知曉哪塊記憶體被改寫,結果難預料,甚至導致程式或 Windows 崩潰。此類問題難診斷,因受影響記憶體常在很久後才存取。寫入陣列務必小心。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved