gpt4 book ai didi

c - 最佳实践 : How to go through an array in C?

转载 作者:行者123 更新时间:2023-11-30 20:52:59 27 4
gpt4 key购买 nike

---编辑--- 该数组先前已初始化为指针 (*arr)。

对于我试图解决的问题,我需要遍历一个可变大小的数组并开始使用此循环:

int arr[] = {3, 5, 10, -2, -1, -3}; // Just an example
int i = 0;

while(arr[i]) {

//do something
i++;

}

似乎在遍历我初始化的数组之后,代码找到了一些存储在内存中的随机值并继续计数,即使我尝试使用的数组早已被传递了。

我怎样才能避免这种情况?

最诚挚的问候!

最佳答案

int *arr 不是数组。

int 不是应该用作索引的类型。使用 size_t 代替

数组

int arr[50]; <- 这是数组

您可以将数组的大小除以元素的大小,得到数组的大小。

指针

int *ptr; 它仅引用 int 对象。您无法通过将指针的大小除以引用对象的大小来获得分配的内存的大小

关于c - 最佳实践 : How to go through an array in C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54381823/

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