我需要将指向结构的指针的地址传递给函数,该函数又将为结构数组动态分配内存并填充值。
现在从我的调用方法来看,一旦我从 func1 返回,我应该能够遍历结构数组并显示结构变量的值。
有人可以解释如何将指针的地址传递给结构,同时遍历动态创建的结构数组吗?
我的示例代码如下所示:
struct test {
int a;
int b;
};
void func1(int *n,struct test **testobj)
{
n=5;
*testobj = (struct test*) malloc(n*sizeof(struct test));
for(i=0;i<n;i++)
{
(*testobj)[i].a=1;
(*testobj)[i].b=2;
}
}
int main()
{
struct test testobj;int n;
func1(&n,&testobj);
for(i=0;i<n;i++)
{
printf("%d %d",(*testobj)[i].a,*testobj)[i].b);
}
free(testobj);
}