gpt4 book ai didi

c - 定义指向指针数组的指针

转载 作者:行者123 更新时间:2023-11-30 19:40:33 34 4
gpt4 key购买 nike

我想使用指针到指针来存储动态数组数据集,但我不知道如何将它们链接在一起。有谁知道如何解决这个问题?如何使用动态数组初始化指向指针数组的指针?我怎样才能选择特定的数据集来使用指针到指针进行进一步的编程?

      float *data;
float **dataIndex;
*dataIndex = (float**)malloc(number * sizeof(float*));

data = (float*) malloc(size * sizeof(float));
for(i = 0; i < size; i++){
scanf("%f", (data + i));
}

最佳答案

要动态分配二维数组,您需要使用循环来初始化数组中的每个指针。

float **arr;
size_t i, n;

if ((arr = malloc(n * sizeof(float *)) == NULL)
perror("malloc");

for (i = 0; i < n; ++i)
if ((arr[i] = malloc(sizeof (float))) == NULL)
perror("malloc");

不要忘记释放你的内存。

while (--n >= 0)
free(arr[n]);
free(arr);

您需要小心,首先释放每个子数组,然后释放整个数组。

关于c - 定义指向指针数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35236667/

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