| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 18648 人关注过本帖
标题:如何获取数组的长度
只看楼主 加入收藏
myvc
Rank: 2
等 级:论坛游民
威 望:1
帖 子:85
专家分:89
注 册:2009-10-25
结帖率:76.47%
收藏
已结贴  问题点数:0 回复次数:6 
如何获取数组的长度
如何获取数组的长度
如:int a[5]={12,34,56,93,29};
如果不知道数组a的实际长度,用什么函数可以得到?谢谢
搜索更多相关主题的帖子: 长度 获取 
2010-10-31 22:53
pbreak
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:83
专家分:558
注 册:2007-5-10
收藏
得分:10 
sizeof(a)/4 就是数组实际长度
2010-11-01 08:02
a396280396
Rank: 2
来 自:江西
等 级:论坛游民
帖 子:12
专家分:25
注 册:2010-10-13
收藏
得分:0 
strlen()函数就是微软求字符串长度的函数
2010-11-01 19:06
Ray7777
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-11-2
收藏
得分:0 
貌似头文件再加个# include<string.h>
再用3楼的函数求长度
2010-11-02 10:44
kwbplcz
Rank: 2
等 级:论坛游民
帖 子:12
专家分:51
注 册:2010-11-3
收藏
得分:0 
C函数里有strlen(char*)函数,
但该函数的原理是:
从数组的第一个字节开始,依次向后遍历,直到遇到0x00字符。

所以,有如下两个问题:

一,
如果数组声明时的大小为N,
而数组已经使用满了,而且所有元素值都不为0x00,
则使用该函数会出现内存访问错误;

二,
sizeof可以获得数组的空间大小,
例如,数组声明时的大小为N,元素类型为E,每个元素所占用的存储空间大小为M,
则整个数组大小为 N * M 字节;
因此,
sizeof(数组) 得到数组占用的所有字节数,
sizeof(数组) / sizeof(元素类型) 得到元素的个数;

真的不想研究技术.
2010-11-03 15:49
jiasenlin
Rank: 2
来 自:四川
等 级:论坛游民
帖 子:62
专家分:27
注 册:2009-1-18
收藏
得分:0 
sizeof(a)/sizeof(a[0])
2010-11-05 11:21
chenaitang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-10-24
收藏
得分:0 
如果单独只是只是一个数组,则sizeof(a)/sizeof(a[0])可行;
若将数组作为函数输入时,则只能使用数组作为输入,不能使用指针,原因如下:
若使用指针作为输入
int void (int *ar)
{
    sizeof(ar)/sizeof(ar[0])等于1;
    因为sizeof(ar)表示指针大小,为4个字节;
    sizeof(ar[0])表示数组第一个元素所占字节数,int为4字节

}
2017-07-25 17:18
快速回复:如何获取数组的长度
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012166 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved