a[10][10]
你要想用一个指针指向这个多维数组的话那就需要一个双重指针int **p=a;
int* a[2]:指针数组
int (*a)[2]:数组指针
int a[2]:a是一个数组名
int (*a)[2]:a是一个指针,指向int x[2]类型的数组
但本质上两者都存的是数组的首地址
///
//为数组开辟内存空间
int**array=new int*[N];
for(int i=0;i
{
array[i]=new int[N];
}
//释放内存空间
for(int i=0;i
{
delete(array[i]);
}
delete(array);
/
#include
#include
using namespace std;
#define nWidth 3
#define nHeight 4
int main(int argc, char *argv[])
{
int **p = NULL;
p = (int**)malloc(nWidth*sizeof(int*));
if(p == NULL)
return -1;
cout<<"内存的不连续分配&#xff1a;"< for(int j &#61; 0; j {
p[j] &#61; (int*)malloc(nHeight*sizeof(int));
if(p[j] &#61;&#61; NULL)
return -1;
}
}
/
/
IplImage **buffer &#61; NULL;
void creat_buffer(IplImage *image)
{
//下面两种分配方式都正确
//buffer &#61; (IplImage**)malloc(sizeof(buffer[0])*N);
buffer &#61; new IplImage*[N];
for(int i &#61; 0;i
{
buffer[i]&#61; cvCreateImage(cvSize(image->width,image->height),IPL_DEPTH_8U,1);
}
}