朕也来学学 发表于 2023-11-3 20:48:13

数组

请问这个为什么要写这个第6行,是什么意思?int sz = sizeof(arr)/sizeof(arr);这句

#include <stdio.h>

int main()
{
        int arr[] = {1,2,3,4,5,6,7,8,9,0};
        int sz = sizeof(arr)/sizeof(arr);
        int i = 0;
        for(i=0;i<sz;i++)
        {
                printf("%d ",arr);
        }
        return 0;
}

isdkz 发表于 2023-11-3 20:48:36

这句代码的意思是计算数组arr的元素个数。在C语言中,sizeof操作符可以用来计算数据类型或变量的字节大小。sizeof(arr)返回整个数组arr的字节大小,sizeof(arr)返回数组中单个元素的字节大小。通过将整个数组的字节大小除以单个元素的字节大小,可以得到数组的元素个数。

在这个示例中,arr是一个包含10个整数的数组。sizeof(arr)返回整个数组的字节大小,sizeof(arr)返回一个整数的字节大小。所以sz的值将是整个数组的字节大小除以一个整数的字节大小,即10。

这样,我们可以通过循环遍历数组arr的所有元素并打印出来。

Mike_python小 发表于 2023-11-3 20:49:01

感谢您的提问。

第6行代码int sz = sizeof(arr)/sizeof(arr);是用来计算数组arr的长度(元素个数)的。

在C++中,数组是一组相同类型的数据的集合,它们在内存中是连续存储的。而数组的长度是在编译时就确定的,程序运行时无法改变。因此,在编写程序时,我们通常需要知道数组的长度,以便正确地访问其中的元素。在这里,我们使用了sizeof()运算符来计算数组arr的总字节数,然后再除以数组中每个元素的字节数(即sizeof(arr)),得到数组的长度。

将计算数组长度的结果存储在变量sz中,后续的循环中使用该变量来控制循环次数,确保遍历到数组的所有元素。

希望我的回答能够解决您的疑惑,如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: 数组