C++二维指针或指针参数

前几天遇到C语言一个小问题,觉得还是比较有意义的,还是记下来吧

结构体

struct s

{

int i;

double d;

};

在main中有一个指向这个数据结构的指针,实际上是指向若干个连续空间的指针

s* my_s;

条用 get()函数希望能对s所指向的空间赋值。同时,空间的大小只能在get函数中计算

其实这个问题就是一个简单的二维指针的问题

get(s** _s)

{

int len = getlen();// 计算要多大的空间

*s = new s[len];

for(int l=0;l<len;l++)

{

(*s)[l].i  = l;

(*s)[l].d = 0.5;
  }
}

main()

{

s* _s;

get(&_s);

//说明,这里如果遍历_s指针,不要用_s++,因为这样在释放_s的时候会出错!

delete [] _s;
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/93e4687366cf7b6d091609c14fdea8ab.html