c/c++语言开发共享如何动态声明一个指针数组

最近下载了一篇论文的代码,但是由于编译器原因,无法动态声明一个指针数组,后来经过多方查找资料,找到解决方法,特此记录一下。 对于静态声明指针数组资料比较多,此类方法缺点在于数组长度不能灵活变化,在编译时就要确定,不够“自动化”。其声明方法为: 1 uchar *q[10] 2 for(int i=0 …

最近下载了一篇论文的代码,但是由于编译器原因,无法动态声明一个指针数组,后来经过多方查找资料,找到解决方法,特此记录一下。

对于静态声明指针数组资料比较多,此类方法缺点在于数组长度不能灵活变化,在编译时就要确定,不够“自动化”。其声明方法为:

1 uchar *q[10] 2 for(int i=0;i<10;i++) 3 { 4     q[i]=new uchar (&this) 5 }

c++可以使用new动态分配数组,而动态声明资料比较少,语法稍繁琐,但是“自动化”程度较高。其声明需要使用到二阶指针,原理有点像二维数组使用二阶指针实现,且可以在一个维度不用指定长度大小。具体方法为:

uchar gaussians = means.size();
uchar** p=new uchar* [gaussians];
for(int i=0;i<10;i++)
{
  p[i]=new uchar*[this];
}

最后还要记得使用delete将new出来的空间释放掉:

for(int j=0;j<10;j++) {     delete p[j]; } delete[] p;

 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/600037.html

(0)
上一篇 2021年5月9日
下一篇 2021年5月9日

精彩推荐