一、小引
可以创建一个长度为10的数组。
当把定值10换为一个变量时,我们就能动态创建数组,如:
那么以此类推,很多人会尝试着这样声明多维数组,我自己曾经也是这样:
正如MSDN所说:When new is used to allocate a multidimensional array of objects, it yields a pointer to the first element of the array(当new用来分配一个多维数组,得到的是指向这个数组第一个元素的指针)
这就是说上面的表达式的右边得到的其实是一个一维指针,左边却是一个指针的指针,当然编译不过去了。正确的写法是:
二、创建一个M*N的数组
创建一个M*N的数组时我们要先声明一个M维数组,每个单元是指向int*的指针,再分别对每个单元分配内存.代码如下:
三、释放一个M*N的数组
释放时要对每个单元里的指针指向的内存予以释放,代码如下:
四、在c语言中声明和释放多维数组