在釋放指標之後一定要記得將其置為null,否則在之後的程式中容易引起無法預知的錯誤。
#include
#define
n 4typedef
intp[n];
//方法一用到
using
namespace
std;
intmain()
delete ptr1;
cout
<<
endl;
//方法二:使用陣列指標
introw
=n;
//二維陣列的行數?
intcolumn
=n;
//二維陣列的列數
//分配乙個指標陣列,其首位址儲存在pmatrix中
int**
pmatrix
=new
int*
[row];
//為指標陣列的每個元素分配乙個陣列
for(
inti =0
; i
<
row; i++)
pmatrix[i]
=new
int[column];
//以上是分配,以下是釋放
for(
inti =0
; i
<
row; i++)
delete pmatrix[i];
delete pmatrix;
pmatrix=null;
//這些技術可用於構造乙個矩陣類
return0;
}
先new乙個int*陣列,然後對每個int*分別new乙個int*
得到的是int**,即2維陣列,和一般2維陣列一樣用
int** matrix = new int*[10];
for(int i=0; i<10; i++)
matrix[i] = new int[10];
matrix[2][5] = 3;
動態分配二維陣列
1.c語言動態分配二維陣列 1 已知第二維 code 1 char a n 指向陣列的指標 a char n malloc sizeof char m printf d n sizeof a 4,指標 printf d n sizeof a 0 n,一維陣列 free a 2 已知第一維 code ...
動態分配二維陣列
原文摘自 假設我需要乙個nrows ncolumns陣列,則可以用以下幾種方法動態分配空間 1.動態陣列的成員都可以用正常的陣列下標 array i j include include void main printf n free array 2.讓陣列的內容連續,但在後來重新分配列的時候會比較困...
動態分配二維陣列
眾所周知,每乙個二維陣列有n行個二級指標指向陣列的每一行,每一行有m個一級指標指向陣列的每乙個元素。因此,我們動態分配二維陣列只要分配n個二級指標,n m個一級指標就行了,先來看乙個常用的方法 int i,p int malloc row sizeof int for i 0 i但這個方法每次分配指...