Delphi VJ VB VC 討論 聯繫 首頁
MS VC 參考文件

 運算子
 輸出與輸入
 流程控制
 陣列
 指標應用
 建立函數
 參數傳遞
 動態配置記憶體
 類別物件
 建構子與解建構子
 this 指標
 例外處理
 資料流
 過載運算子
 fsteram 類別

作品介紹

免費下載

廠商軟體

動態配置記憶體

設定指標起始值
     當指標被宣告後,只是在記憶體中宣告了一個儲存指標的記憶體空間,裡面的位址值並沒有設定,因此就必須利用宣告變數並將變數的位址值設定給指標(這樣記憶體才會被配置出來)。

當利用new運算子配置記憶體後,將會傳回被配置記憶體的位址值。

資料型態 *指標名稱=new資料型態(起始值)

int *iptr =new int(10) //有門牌號碼,沒有招牌

使用new運算子配置記憶體,在結束程式或使用完畢後必須用delete運算子來釋放記憶體。

delete 變數名稱 //變數名稱為指向配置記憶體的指標名稱

delete iptr

範例:

//用new運算子指定指標起始值

#include <iostream.h>
void main() //主程式開始
{
int *ptr = new int (20); //宣告指標,並配置指標使用的記憶體
cout << " 指標名稱| 指向位址 | 位址值 \n";
cout << "----------------------------------\n"; //輸出標題
cout << " ptr | " << ptr << " | " << *ptr << endl;
//輸出指標變數的位址與值
delete ptr; //釋放配置給 ptr 的記憶體空間
} //主程式結束


動態宣告陣列大小

資料型態 *指標名稱;
指標名稱=new資料型態[一維大小]

資料型態 *指標名稱=new資料型態(起始值)

int *ptr;
cin >> n;
ptr =new int [n];

cin >> n;
int *ptr =new int [n];

使用new運算子配置記憶體,在結束程式或使用完畢後必須用delete運算子來釋放記憶體。

delete[] 指標名稱

delete [] ptr;

範例:

//動態配置陣列大小

#include <iostream.h>

void main() //主程式開始
{
int n; //儲存使用者輸入的陣列維度
cout << "請輸入陣列的大小 :\n";
cin >> n;
//讀取陣列的維度
int *ptr = new int [n]; //動態配置陣列的維度
cout << "請輸入陣列元素值 :\n";
for (int i = 0 ; i < n ; i++)
{
cout << "array [" << i << "] = ";
cin >> *(ptr + i);
//讀取陣列元素值
}

cout << "\n陣列內容為...\n";
for ( i = 0 ; i < n ; i++)
{
cout << "array [" << i << "] = " << ptr[i];
//列印陣列元素,ptr[i] 與 *(ptr + i) 同義
cout << endl;
}

delete[] ptr; //釋放記憶體空間

} //主程式結束



本網頁由
昱得資訊工作室製作(C) Copyright Valor-Studio since in 1993

 

本網站全部內容係屬【昱得資訊工作室】版權所有,轉載必究,
非經正式書面同意,不得將全部或部分內容,以任何方式轉載於其他網站或用於任何商業行為