gpt4 book ai didi

c - 在 C 中使用指针通过引用修改数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:11:47 25 4
gpt4 key购买 nike

<分区>

我是 C 语言开发的新手,在函数中设置数组值并返回调用方法时遇到问题。函数本身必须返回一个 int 并且数组大小需要是动态的,所以我试图使用指向数组的指针更新原始数组。我的代码如下:

int getArray(TestType *testArray)
{

testArray = malloc(2 * sizeof(TestType));
testArray[0].id = 1;
testArray[0].testFloat = 1.5;
testArray[1].id = 2;
testArray[1].testFloat = 2.5;

printf("getArray element 2 id = %d\n", testArray[1].id);

return 1;
}

void main()
{
TestType *testArray;
int i = getArray(*&testArray);
printf("main element 2 id = %d\n", testArray[1].id);
}

当我运行它时,我得到以下结果:

getArray element 2 id = 2
main element 2 id = 0

我已经看过别处,虽然 c returning an array from a function描述了一个类似的问题,这是处理一个字符数组,而我有一个用户定义的结构,所以不要相信我可以应用相同的解决方案。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com