成都建网站,郑州模板建站定制网站,一般纳税人5%征收率,花都网站推广一.数组的长度计算公式
我们都知道字符串有特定的函数strlen,而数组没有#xff0c;#xff08;虽然字符串也是一种特殊的数组#xff09;
但是#xff0c;类似于这样的数组#xff1a;
int arr[]{12,89,1,5,31,78,45,12,12,0,45,142,21,12}#xff1b;
我们很难一眼… 一.数组的长度计算公式
我们都知道字符串有特定的函数strlen,而数组没有虽然字符串也是一种特殊的数组
但是类似于这样的数组
int arr[]{12,89,1,5,31,78,45,12,12,0,45,142,21,12}
我们很难一眼就看出来数组的长度。所以我们需要一个公式。
先看一下这个小学题目一个苹果5元小明有20元问他能买几个苹果
很容易20除以54个
同样类比到这里当我们知道数组的总大小再除以单个元素的大小不就得到了数组的个数了。 公式sizeof(arr)/sizeof(arr[0]); 二.例子
int main()
{int arr[] { 12,89,1,5,31,78,45,12,12,0,45,142,21,12 };int len sizeof(arr) / sizeof(arr[0]);printf(数组的长度是%d, len);return 0;
} 三.在函数中如何计算数组的长度
这个公式是不可以在函数中使用的因为数组传参的时候传的是首元素的地址因此不可以使用。那我们在函数中传数组必须要传递两个东西 1.数组的首元素地址 2.数组的长度 下面通过一个代码看一下区别
void test(int arr[])
{int len sizeof(arr) / sizeof(int);//2x64的指针是8个字节printf(函数中的数组长度%d\n, len);
}
int main()
{int arr[] { 12,89,1,5,31,78,45,12,12,0,45,142,21,12 };//14个int len sizeof(arr) / sizeof(arr[0]);test(arr);printf(主函数中的数组的长度是%d, len);return 0;
} 正确的传参方式
//正确的演示
void test(int arr[],int len)
{printf(函数中的数组长度%d\n, len);
}
int main()
{int arr[] { 12,89,1,5,31,78,45,12,12,0,45,142,21,12 };//14int len sizeof(arr) / sizeof(arr[0]);test(arr,len);printf(主函数中的数组的长度是%d, len);return 0;
} 创作不易 如果这份博客对你有帮助可以给博主一个免费的点赞以示鼓励。 欢迎各位帅哥美女点赞评论⭐收藏⭐谢谢 如果有什么疑问或不同的见解欢迎在评论区留言哦。 祝各位生活愉快⭐