指針與變量(或數組)的動態創建與釋放
阿新 • • 發佈:2018-12-05
變量 i++ 動態 nbsp 數據 數據類型 2個 內存 fibonacci
1、變量內存的動態分配(創建)與釋放:通過指針,動態間接賦值、取值
指針變量名=new 數據類型(初始值); 初始值可省略,後邊再賦值。
delete 指針變量名;
#include<iostream> using namespace std; int main() { //int *p = new int; *p = 5; int *p = new int(5);//new運算符,動態創建一個int型變量(無變量名),值為5。 cout << *p;//輸出所指地址的值 delete p;//釋放指針變量的內存空間 return 0; }
2、一維數組的動態分配(創建)與釋放:
指針變量名=new 數據類型[正整數常量、變量或表達式];
delete [ ]指針變量名;
#include<iostream> using namespace std; int main() { int *p = new int[5];//new運算符,動態創建一個int型數組(無數組名)。 *(p + 1) = 10;//賦值第2個元素 //或p[1]=10; cout << p[1];//輸出所指地址的值 delete []p;//釋放指針變量數組的內存空間 return 0; }
顯示Fibonacci數列的前N項,0,1,1,2,3,5,8,…
#include<iostream> using namespace std; int main() { int N; cin >> N; int *p = new int[N]; //動態創建包含N個元素的數組 p[0] = 0; p[1] = 1;//給定第1、2元素的值,等效*p=0;*(p+1)=1; for (int i = 2; i < N; i++){ p[i] = p[i - 1] + p[i - 2]; } for (int i = 0; i < N; i++) { cout<< p[i] << " "; } delete []p;//釋放指針變量數組的內存空間 return 0; }
指針與變量(或數組)的動態創建與釋放