鱼C论坛

 找回密码
 立即注册
查看: 964|回复: 2

数组

[复制链接]
发表于 2023-11-3 20:48:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问这个为什么要写这个第6行,是什么意思?int sz = sizeof(arr)/sizeof(arr[0]);这句
#include <stdio.h>

int main()
{
        int arr[] = {1,2,3,4,5,6,7,8,9,0};
        int sz = sizeof(arr)/sizeof(arr[0]);
        int i = 0;
        for(i=0;i<sz;i++)
        {
                printf("%d ",arr[i]);
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-3 20:48:36 | 显示全部楼层
这句代码的意思是计算数组arr的元素个数。在C语言中,sizeof操作符可以用来计算数据类型或变量的字节大小。sizeof(arr)返回整个数组arr的字节大小,sizeof(arr[0])返回数组中单个元素的字节大小。通过将整个数组的字节大小除以单个元素的字节大小,可以得到数组的元素个数。

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

这样,我们可以通过循环遍历数组arr的所有元素并打印出来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-3 20:49:01 | 显示全部楼层
感谢您的提问。

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

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

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

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

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 15:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表