c++靜態內存空間示例(自界說空間類型年夜小和空間長度)。本站提示廣大學習愛好者:(c++靜態內存空間示例(自界說空間類型年夜小和空間長度))文章只能為提供參考,不一定能成為您想要的結果。以下是c++靜態內存空間示例(自界說空間類型年夜小和空間長度)正文
靜態內存空間的請求示范
應用C++的特征,可以或許自界說空間的類型年夜小和空間長度
上面這個法式是個數組靜態設置裝備擺設的簡略示例
#include <iostream>
using namespace std;
int main()
{ int size = 0;
cout << "請輸出數組長度:"; //可以或許自界說的靜態請求空間長度
cin >> size;
int *arr_Point = new int[size];
cout << "指定元素值:" << endl;
for(int i = 0; i < size; i++)
{ cout << "arr[" << i << "] = ";
cin >> *(arr_Point+i);
}
cout << "顯示元素值:" << endl;
for(int i = 0; i < size; i++)
{ cout << "arr[" << i << "] = " << *(arr_Point+i)
<< endl;
}
delete [] arr_Point;
return 0;
}
履行成果:
請輸出數組長度:5
指定元素值:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
顯示元素值:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
可使用指針來仿真二維數組,只需清晰二維數組中的兩個維度的索引值之位移量便可以
#include <iostream>
using namespace std;
int main()
{ int m = 0;
int n = 0;
cout << "輸出二維數組維度:";
cin >> m >> n;
int *ptr = new int[m*n];
for(int i = 0; i < m; i++)
{ for(int j = 0; j < n; j++)
{ *(ptr + n*i + j) = i+j;
}
}
for(int i = 0; i < m; i++)
{ for(int j = 0; j < n; j++)
{ cout << *(ptr+n*i+j) << "\t";
}
cout << endl;
}
delete [] ptr;
return 0;
}