数组长度计算_c语言计算数组长度的函数

数组长度计算_c语言计算数组长度的函数(1)sizeof方法:sizeof(数组名)/sizeof(数组类型名)说明:数组占用字节除以数组类型所占字节,结果为数组元素个数(2)strlen说明:strlen,求字符串有效长度方法

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

     (1)sizeof
     方法:sizeof(数组名)/ sizeof(数组类型名) 
     说明:数组占用字节除以数组类型所占字节,结果为数组元素个数
    (2)strlen
     说明:strlen,求字符串有效长度
     方法:strlen(字符数组名)  //结果为字符数组有效字符长度,不包含末尾的’ /0′

注意:

当数组作为函数參数传递时,数组名代表的是数组的首址,而非数组内容,故无法使用sizeof和strlen;

所以,在传址时,应提供2个參数:1个是数组名,代表数组首地址;1个是数组元素个数,以便确定传递的次数。
比如:
#include
<
iostream
>


using
 
namespace
 std;

void
 Sum(
int
 array[ ])
{
cout

<<

sizeof(array)=

<<
sizeof
(array)
<<
endl;
}

void
 main()
{

int
 a[ ]
=
{
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
};
cout

<<

sizeof(a)=

<<
sizeof
(a)
<<
endl;
Sum(a);
}

运算结果为:
sizeof(a)=40
sizeof(array)=4
分析:
当数组作为函数參数传递时,数组名代表的是数组的首址,即指针,而非数组内容。假设传递整个数组,会导致栈溢出的。
所以在主函数中使用sizeof计算出的是准确的数组长度。而在调用函数中,因为传递的数组不再是数组本身,而是其地址,所以用sizeof计算出的,实际上是数组地址的长度,这时的sizeof(array),实际上是sizeof(int)。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167058.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • fdfs启动_procfs

    fdfs启动_procfsuser/bin下命令fdfs_trackerd/etc/fdfs/tracker.conf/etc/fdfs/tracker.conf配置文件所在位置fdfs_storaged/etc/fdfs/storage.conf

    2022年10月7日
    0
  • idea在线激活码3月最新在线激活

    idea在线激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    57
  • c#通过oledb获取excel文件表结构信息

    这个问题来自论坛提问,同理可以获得access等数据库的表结构信息。推荐:http://www.cnblogs.com/roucheng/p/excelhanshu.html

    2021年12月27日
    39
  • 到底什么是hash呢?hash碰撞?为什么HashMap的初始容量是16?

    到底什么是hash呢?hash碰撞?为什么HashMap的初始容量是16?一,到底什么是hash呢?作者:知乎用户链接:https://www.zhihu.com/question/26762707/answer/40119521来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。hash(散列、杂凑)函数,是将任意长度的数据映射到有限长度的域上。直观解释起来,就是对一串数据m进行杂糅,输出另一段固定长度的数据h,作为这段数据的…

    2022年6月16日
    38
  • 【数据仓库】【第十章】ODS层「建议收藏」

    【数据仓库】【第十章】ODS层「建议收藏」1.创建数据库现在数仓环境已经搭建好了;数据也都已经采集到hdfs上了;1)启动hive[atguigu@hadoop102hive]$bin/hive2)显示数据库hive(default)>showdatabases;3)创建数据库hive(default)>createdatabasegmall;4)使用数据库hive(default)>usegmall;ODS层1.用户行为数据(1)建表分析一行数据是什么:一条日志有哪些字段:

    2022年10月5日
    0
  • IDEA导入jar包[通俗易懂]

    IDEA导入jar包[通俗易懂]一、导入1、java项目在没有导入该jar包之前,如图:2、点击File->ProjectStructure(快捷键Ctrl+Alt+Shift+s),点击ProjectStructure界面左侧的“Modules”如图:3、在“Dependencies”标签界面下,点击右边绿色的“+”号,选择第一个选项“JARsord…

    2022年4月19日
    190

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号