C语言,数组用什么函数,计算数组长度?

C加伽 2014-04-29 10:38:23
C语言,数组用什么函数,计算数组长度?
...全文
73672 56 打赏 收藏 转发到动态 举报
写回复
用AI写文章
56 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxw_2009 2018-06-03
  • 打赏
  • 举报
回复
int a[10]={12,54,6,23,7,5,9,89,10,34}; 1 可以用strlen函数:头文件在#include<string.h> // int b=str(a); 2 可以用sizeof,例如:sizeof(a)//求出的是数组a总的字节长度。
Lianna07 2018-05-22
  • 打赏
  • 举报
回复
用 sizeof(array)获得整个数组占用大小 sizeof(array)/sizeof(ArrayType)获得数组长度
lxw_2009 2018-05-21
  • 打赏
  • 举报
回复
函数的话是strlen,头文件在<string.h>,如果是计算字节个数用sizeof(array)/sizeof(array[0])
谁学逆向工程 2018-05-18
  • 打赏
  • 举报
回复
个数乘以每个的大小
我的女神 2018-05-18
  • 打赏
  • 举报
回复
http://cs.glimix.com/?controller=posts&action=show&id=17
ggglivw 2018-05-10
  • 打赏
  • 举报
回复
int arr[xxx]; 可以sizeof. int *p = new int[xx] 你个人用变量记
觅食穿梭 2018-05-10
  • 打赏
  • 举报
回复
sizeof获取长度
待续_1006 2018-05-07
  • 打赏
  • 举报
回复
咱也学习一下,请百度搜索相关关键字
Dennis_t 2018-05-07
  • 打赏
  • 举报
回复 1
c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数) 如: { int data[4]; int length; length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小 printf("length of data[4]=%d", length ); //输出length of data[4]=4 } 但,通过传递数组名参数到子函数中,以获得数组长度是不可行的。如: int getLength(int[] a){ int length; length=sizeof(a)/sizeof(a[0]); //这样是错误的,得到的结果永远是1 return length; } 因为,a是函数参数,到了本函数中,a只是一个指针(地址,系统在本函数运行时,是不知道a所表示的地址有多大的数据存储空间,这里只是告诉函数:一个数据存储空间首地址),所以,sizoef(a)的结果是指针变量a占内存的大小,一般在32位机上是4个字节。a[0]是int类型,sizeof(a[0])也是4个字节,所以,结果永远是1。 因此,获得数组长度,只能在数组定义所在的代码区中,采用以上方法,才可以达到效果。
  • 打赏
  • 举报
回复
对静态的数组,sizeof(a)/sizeof(a[0]) countof是vc的宏定义。 动态申请的,没有。默认用户自己知道。
「已注销」 2018-05-07
  • 打赏
  • 举报
回复
#define ARRAYSIZE(a) (sizeof(a) / sizeof(*(a)))
sd990620 2018-05-06
  • 打赏
  • 举报
回复
//计算占用内存大小 sizeof(array) //计算数组元素个数 sizeof(array) / sizeof(array[0]) sizeof(arry) / sizeof (datatype) //直接使用数据类型作为参数
真相重于对错 2018-05-06
  • 打赏
  • 举报
回复
请组织好你的语言
qq_41333223 2018-05-06
  • 打赏
  • 举报
回复
引用 29 楼 cauc_guidian 的回复:
可以自己写个for循环的函数,计算数组遇到\0时i的值,i就是数组的长度
不是字符串才以\0结尾么 我觉得可以定一个标志为数组结束标志。到标志返回位置比较好把
qq_41333223 2018-05-06
  • 打赏
  • 举报
回复
引用 10 楼 yiyefangzhou24 的回复:
char str[1024]; 1024不就是长度?
emmm那如果是str[ ],长度是多少呢?
707wk 2015-05-19
  • 打赏
  • 举报
回复
引用 8 楼 zhao4zhong1 的回复:
最稳妥的办法是程序自己负责用变量记住或函数参数传递数组大小。
+1,sizeof在函数调用的时候不适合,strlen只能用于char
均陵鼠侠 2015-05-19
  • 打赏
  • 举报
回复
C语言,数组用什么函数,计算数组长度? ????? 在CSDN,没见到一个遣词造句像样的学生。现在的大学生语言文字学得不好啊。 “C语言用什么函数计算数组的长度”,这样说不好吗?
无双菜鸡 2015-05-19
  • 打赏
  • 举报
回复
四楼正解,先用sizeof(array)求出整个数组张勇的内存空间,再用sizeof(array[0])求出单个元素所占内存空间,两者相除即长度
寒冰枫 2015-04-28
  • 打赏
  • 举报
回复
如果是字节数组,你们这些方法全部无效,字节数组中间就可能出现\0,一般使用字符串数组,就是strlen计算,字节数组的话,局部的都是记住长度,全局的用宏定义记住长度
qingse77 2015-04-25
  • 打赏
  • 举报
回复
受教。四楼。
加载更多回复(30)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧