- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
列介列相同型的相料成的料程式行程中其大小不改列型以指基的列列作物件理第章到的有些相似的地方第章到是相料的集合但些料可以有不同的料型列列由的位置成有相同的型名要照存取列的某元素需要明列的名和第位置格式列的第一元素是在位置元素的列列每元素的使用正常的似可以列的元素作正常的算若列列的宣告宣告列需明列名列的型每元素的型所的列的元素列元的始束位置例如宣告多相同型的列宣告多相同型的方式相似例如列的使用例定初值的述若的初值不最右的部份自若了太多的初值造成法所有元素都不自作若有元素就以初值的作元素列就有元素行上
Chapter 4 - 陣列 Arrays 4.1 簡介 陣列 Arrays 相同型別的相關資料組成的結構 靜態資料:程式執行過程中,其大小不會改變 陣列型態 C-like, 以指標為基礎的陣列 C++, 將陣列當作物件來處理 第5章會講到 pointer,這裡講的 array 與 pointer 有些相似的地方。 第6章講到 structure and class,這是相關資料的集合,但這些資料間可以有不同的資料型態。 4.2 陣列 Arrays 陣列 Array 由連續的記憶體位置組成 有相同的型態與名稱 要參照(存取)陣列的某個元素時,需要寫明 陣列的名稱和(第幾個)位置 格式: arrayname[ position number ] 陣列的第一個元素是在位置 0 n 個元素的陣列 c: c[ 0 ], c[ 1 ]…c[ n - 1 ] 陣列每個元素的使用與正常的變數類似 c[ 0 ] = 3; cout c[0] + c[1] + c[7]; 可以對陣列的元素作正常的運算,若 x = 3, c[ x – 2 ] += 5; 4.2 陣列 Arrays 4.3 Declaring Arrays 陣列的宣告 宣告陣列時,需說明 陣列名稱 陣列的型態(每個元素的型態、所佔的 bytes 數) 陣列的元素個數(陣列元的開始與結束位置) 例如: int c[ 10 ]; float hi[ 3284 ]; 宣告多個相同型態的陣列 與宣告多個相同型態變數的方式相似 例如: int b[ 100 ], x[ 27 ]; 4.4 陣列的使用範例 設定初值的敘述 int n[ 5 ] = { 1, 2, 3, 4, 5 }; 若給的初值不夠、最右邊的部份自動設 0 若給了太多的初值、則造成語法錯誤 int n[ 5 ] = { 0 }; 將所有元素都設為 0 int n[ 5 ]; // 不會自動作 initialize 若沒有給元素個數、就以初值的個數當作元素個數 int n[] = { 1, 2, 3, 4, 5 }; 陣列 n 就有 5 個元素 執行上的小技巧 4.1 利用初值設定方式給陣列初值是在編譯階段作的,因此其執行速度會比用 assignment 的方式給初值還要快,因為 assignment 是在 run-time 時作的。 1 // Fig. 4.3: fig04_03.cpp 14 int n[ 10 ]; 17 for ( int i = 0; i 10; i++ ) 18 n[ i ] = 0; 20 cout Element setw( 13 ) Value endl; 23 for ( int j = 0; j 10; j++ ) 24 cout setw( 7 ) j setw( 13 ) n[ j ] endl; 1. Initialize array using a declaration 2. Define loop 3. Print out each array element Program Output 1. Initialize const variable 2. Attempt to modify variable ? Program Output 4.4 陣列的使用範例 常見的程式設計錯誤 4.4-4.5 在可執行的敘述中,將值指定給常數變數、這是語法錯誤。 只能用常數來宣告陣列的元素個數(包括自動與靜態陣列) 用 constant variable 可以增加可讀性,也可以比較容易作調整元素個數(scalable)。 軟體工程的觀點 4.1 使用常數變數來定義陣列元素個數,可讓程式更容易調整。 fig04_08.cpp(1 of 1)fig04_08.cppoutput (1 of 1) 1 // Fig. 4.8: fig04_08.cpp 2 // Compute the sum of the elements of the array. 3 #include iostream 5 using std::cout; 6 using std::endl; 8 int main() 9 { 10 const int arraySize = 10; 12 int a[ arrayS
文档评论(0)