- C++面向對象程序設計
- 杜茂康等編著
- 431字
- 2019-01-01 05:54:53
2.2 局部變量聲明
在C語言中,局部變量應該在函數的可執行語句之前定義;但在C++中,變量可在任何語句位置定義,只要允許出現程序語句的地方,都允許定義變量。程序Eg2-1.cpp在C語言中是錯誤的,原因是變量定義語句L3出現在了可執行語句L2的后面。但此程序在C++中卻是正確的。
【例2-1】 下面的程序在C語言中存在編譯問題,但在C++中是正確的。
//Eg2-1.cpp void main(){ int x; //L1 x=9; //L2 int y; //L3 y=x+1; //L4 }
另外,C++允許在for循環語句中定義變量。
【例2-2】 在C++中,在for循環的測試語句中定義變量。
//Eg2-2.cpp #include<iostream.h> void main(){ int n=1; for(int i=1;i<=10;i++){ int k; n=n*i; k=i; } //i(在C++語言規范中,i的作用域到此就結束了。但某些編譯器(如Visual C++ 6.0)擴大了for循環中定義變量的作用域,其有效范圍擴展到了定義該變量的for循環后面的“}”,這里就屬于這種情況。本程序在Visual C++ .NET中不能通過編譯,原因是cout訪問的i已失去了作用域。),k的作用域至此結束 cout<<n<<i<<endl; //i在此的值是11 } //n,i的作用域到此結束
在C++中,變量在包含定義它的最近一對{ }內有效,稱為塊作用域。因此,上面程序中的n在整個main()函數內有效,而i和k僅在for循環體內有效。
推薦閱讀
- 大學計算機基礎:基礎理論篇
- 三菱FX3U/5U PLC從入門到精通
- Deep Learning Quick Reference
- Hands-On Artificial Intelligence on Amazon Web Services
- Excel 2007函數與公式自學寶典
- Hands-On Machine Learning on Google Cloud Platform
- TestStand工業自動化測試管理(典藏版)
- Enterprise PowerShell Scripting Bootcamp
- 工業機器人安裝與調試
- Practical Big Data Analytics
- 面向對象程序設計綜合實踐
- Learn QGIS
- 會聲會影X4中文版從入門到精通
- 一步步寫嵌入式操作系統
- 筆記本電腦維修之電路分析基礎