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

2014-11-24 10:12:15 · 作者: · 浏览: 0

前几天遇到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

{


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


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


main()


{


s* _s;


get(&_s);


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


delete [] _s;
}