gpt4 book ai didi

c - 试图找到访问数组元素的不同方法?

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

我是 C 的新手,但决心学好 C。我需要你的帮助。在练习数组时,我只是想发现我访问数组元素的方式是正确的,或者可能有更好的方法来做到这一点。请检查以下代码并建议使用带指针的数组的好方法。如果有人可以指导我使用指针数组的高级练习教程,我将不胜感激。

int main()
{
unsigned int i, j;
unsigned int arr1[] = {1,2,3,4,5,6,7,8,9};

unsigned int * ptr_arr = (unsigned int *)malloc(sizeof(unsigned int));
ptr_arr = arr1;

for(i=0;i<=8;i++)
{
printf("Value at location %d\t is: %d\n",i,*(ptr_arr+i));
printf("\n");
printf("Value of i %d and value at %d\n",i, ptr_arr[i]);
}

return 0;
}

最佳答案

你的程序正在泄漏内存

unsigned int * ptr_arr = (unsigned int *)malloc(sizeof(unsigned int));

不需要为ptr_arr分配内存。

arr1的地址赋值就够了

ptr_arr = arr1;

另一种使用它的方法是每次递增指针并使用它

    ptr_array2 = arr1
for (int i = 0; i < 8 ; i++)
{
printf ("%d", *ptr_array2);
ptr_array2++;
}

关于c - 试图找到访问数组元素的不同方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15104339/

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