发布网友 发布时间:2022-04-22 04:29
共4个回答
热心网友 时间:2023-11-22 05:14
new 的作用是动态开辟空间,一般的形式估计你也会了。我就直接给你讲题吧
你这个函数的作用是动态建立一个(n1+1)*(n2+1)的二维数组(注:在c++中 直接用new(a[][])这种形式是错误的)
首先明白所谓指针就是存放地址的变量,这一点最重要
double **a=new double*[n1+1];
这句话的意思是开辟以一块连续的空间用来存储指针变量(指针的指针),它的大小是n1+1。*a是指针,那么**a就是存放指针的指针。那个new后的double* 相当于一个强制转换。因为用new时和数组的名字无关所以[n1+1]前的数组名可以省略。这个类比于new double[3];
for(i=0;i<=n1;i++)
{
a[i]=new double[n2+1];
}
这个语句就是给把指针付给指针的指针,看下边的图你就明白了;
多琢磨一下!
热心网友 时间:2023-11-22 05:15
new是用来执行动态内存分配的,替代C语言中的malloc。如果你是JAVA等语言中,没有指针这样的概念的,那就不好跟你解释,先看看指针去热心网友 时间:2023-11-22 05:15
动态分配内存 相当于MALLOC热心网友 时间:2023-11-22 05:16
1.new的作用是从自由存储为 类 的对象或对象数组分配内存,并将已适当分类的非零指针返回到对象。