gpt4 book ai didi

c - 指向另一个数组的数组

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

我是 C 的新手。

创建一个数组,在每个索引处保存一个指向另一个动态大小数组的指针。

int main()
{
unsigned int i , j;

int* array1[2];
int a1[] = {1,2,3};
int a2[] = {2,3};

array1[0] = a1;
array1[1] = a2;

for (i=0 ; i < 2; i++) {
printf(" the value of array1[%d] = %d" , i , *array1[i]);
}

return 1;
}

the value of array1[0] = 1

the value of array1[1] = 2

只打印第一个元素。如何打印索引指向的整个数组。我错过了什么。

编辑::我现在明白了用法,但同样直接这样做,导致一个数组。

`unsigned int* c[3];
c[0] = {0, 5, 4, 7}; // This Line Err`
c[1] = {0, 5, 4, 3, 2, 6, 7};
c[2] = {0, 5, 4, 3, 2};

Causing an error : file try.c line xx function main: syntax error before `{'

为什么??

谢谢

最佳答案

如您所知,array1[0] 持有指向 a1 数组第一个元素的指针;要打印 a1 数组的所有元素,您应该对其进行迭代,如下所示:

for (int i = 0; i < 2; i++){
printf(" the value of a1[%d] = %d", i, *(array1[0] + i);
}

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

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