我需要將指針的地址傳遞給一個結構到一個函數,該函數將動態地爲結構數組分配內存並填充值。瞭解如何動態創建一個結構數組並訪問其元素
現在從我的調用方法,一旦我從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);
}
這不是被要求什麼。 –