關於axios非同步請求的測試
阿新 • • 發佈:2020-11-15
■ 概述
陣列,就是一個集合,裡面存放了相同型別的資料元素
■特點
1) 陣列中的每個資料元素都是相同的資料型別
2) 陣列是由連續的記憶體位置組成,數組裡的資料放在一塊連續的記憶體空間
■一維陣列
□ 一維陣列定義的三種方式
1) 資料型別 陣列名[陣列長度];
int arr[5]; arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; arr[4] = 50;
2)資料型別 陣列名[陣列長度] = {值1,值2 ...};
int arr[5] = {10,20,30,40,50};
3)陣列型別 陣列名[] = {值1, 值2 ...};
int arr[] = {10,20,30,40,50}; //編譯器可以通過大括號元素的個數推測陣列的長度 int arr[]; //報錯,定義陣列的時候,必須要有初始長度
◆ 總結:
1) 陣列名的命名規範與變數名的命名規範一直,不要與變數重名
2) 陣列下標識是從0開始索引的
□ 一維陣列陣列名
◆ 一維陣列名的用途:
1)可以統計整個陣列在記憶體中的長度
sizeof(arr[0]) //獲取陣列第一個元素所佔記憶體大小 sizeof(arr) //獲取陣列所佔記憶體大小
2) 可以獲取陣列在記憶體中的首地址
cout << arr << endl; //返回陣列arr的記憶體地址 cout << &arr[0] << endl; //返回陣列arr第一個元素的記憶體地址
3)陣列名是常量,不可以進行賦值操作
arr = 100; //報錯
■二維陣列
□ 二維陣列定義
二維陣列就是在一維陣列上,多加一個維度
□二維陣列宣告
宣告有以下四種方式:
1) 資料型別 陣列名[行數][列數];
int arr[2][3]; arr[0][0]=1; arr[0][1]=2; arr[1][0]=3; arr[1][1]=4; arr[2][0]=5; arr[2][1]=6; for(int i = 0; i < 2; i ++) { for(int j = 0; j < 2 ; j ++) { cout << arr[i][j] << endl; } }
2) 資料型別 陣列名[行數][列數] = {{資料1,資料2},{資料3,資料4}};
更加直觀,提高程式碼的可讀性,推薦使用
int arr1[2][3] = { {1,2,3}, {4,5,6} }
3) 資料型別 陣列名[行數][列數] = {資料1,資料2,資料3,資料4};
int arr[2][3] = {1,2,3,4,5,6};
4) 資料型別 陣列名[][列數] = {資料1,資料2,資料3,資料4};
該種方式會通過初始資料元素和列數自動推算出行數,但是僅通過行數缺無法推斷出列數,比如行數是3,則到底是每行1個元素還是每行2個元素,是無法推測的
int arr[][3] = {1,2,3,4,5,6};
注意:當進行初始化定時,可以省略行數,但不可以省略列數
□檢視二維陣列所佔記憶體空間
int arr1[2][3] = { {1,2,3}, {4,5,6} } cout << sizeof(arr1) << endl; //輸出:24 cout << sizeof(arr1[0]) << endl; //輸出:12,二維陣列第一行佔用記憶體 cout << sizeof(arr1[0][0]) << endl; //輸出:4,二維陣列第一元素佔用記憶體 cout << sizeof(arr1)/sizeof(arr1[0]) << endl; //輸出:2,二維陣列的行數 cout << sizeof(arr1[0])/sizeof(arr1[0][0]) << endl; //輸出:3,二維陣列的列數 double arr2[2][3] = { {1,2,3}, {4,5,6} } cout << sizeof(arr2) << endl; //輸出:48
□獲取二維陣列首地址
cout << arr1 << endl; //返回二維陣列的首地址 cout << arr[0] << endl; //返回二維陣列第一行首地址,與二維陣列的首地址相同 cout << arr[1] << endl; //返回二維陣列第二行首地址,與二維陣列的首地址相同 cout << &arr[0][0] << endl; //返回二維陣列第1元素的首地址,與二維陣列的首地址相同,檢視具體元素的地址需要使用取址符 cout << &arr[0][1] << endl; //返回二維陣列第1元素的首地址,與二維陣列的首地址相同,檢視具體元素的地址需要使用取址符