zrcd.net
当前位置:首页 >> C语言求数组实际长度 >>

C语言求数组实际长度

1、c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数).例如:int data[4]; int length; length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小 printf("length of data[4]=%d", length ); //输

你的两个数组的长度都是 80.如果不是动态开辟的数组,你声明的时候给多少长度就是多少长度.第二个数组的长度是2?估计你使用 strlen 函数求吧? strlen只能求字符串长度,没办法求数组长度.strlen 是用 '\0' 来判断字符串的结束标志的,而你第二个数组中放置了几个'\0' (ascii码为0,),所以得到的长度是 2.将第二个数组改为char m[80]={'1','1','0','1','0','0','0'}; 用 strlen 求得结果为 7.求数组长度的正确方法:sizeof(mes)/sizeof(int); sizeof(mes)/sizeof(char)

可以使用c本身有的函数啊!!首先说明一点,关于数组的长度有在定义时给出的长度,但定义时的长度不一定都用完,很可能有好多空间没有用到,此时就有实际长度的概念;比如:int s[10]; s[10]={1,2,3,4,5,6}; 定义整型数组s的长度是10,但

如果这样定义,每一行还是20个数,后面的自动补为0了,所以根据这个数组不能求得每一行的元素个数.楼主可以在这个数组每一行再添加一个特殊的数字作为标志位.

strlen(str) 首先说说它,str[20]=;printf("%d",strlen(str));输出的值为3,而不是20,因为strlen认\0的,\0就认为结束.sizeof(str)则不管\0,定义多大数组就显示多大.1 4 62 6 33 0 47 5 3 这是一个二维数组 a[4][3] 它可以看成4个一维数组 146 263 304 753它的一维数组长度多大啊,数数呗!! sizeof()可以办到的.sizeof(a[0])/4你试试(4是int类型占4个字节的意思).但sizeof(a)不可以,因为a 也是二维数组. 而a[0],a[1]等表示含三个元素的一维数组.给分奥,不明白再问

'\0' 只是字符串数组的结束符,对于其它类型数组没有所谓的结束符!判断数组长度,可以使用sizeof来进行,如 int ARRAY[] = {1,1,2,2,}; printf("长度: %d\n", sizeof(ARRAY) / sizeof(int)); 你可以看看长度到底是多少?并可以了解为什么是这个数,在其它编译器上也运行看看.没有给定长度的,它通过你初始化的数据来设定长度,上面你只使用4个初始化数据,因而长度为4.

首先,cin>>a[20]; 这样是不行的.这样写相当于只输入数组的第21个数,超出了数组的最大范围了.20个数据的数组,最大下标是19其次,数组定义的时候,如果 没有赋初值,那么系统会自动给所有数组元素自动赋值0再次,想要求数组长度可以这样:int a[20];int len;len = sizeof(a);这样求出来的值会是80,因为int数据占4字节,20个就是80字节数组的长度和你是否输入数组的值无关,反正定义时没给初值就自动赋值0的只要是int型的数组,每个元素都是4字节.

比如获取一个int类型数组的长度:int example[20]; int arrlength; arrlength = sizeof(example) / sizeof(int);这样就行了.

你是想知道有多少个元素被赋值了吧这个数组的长度就是10,除非你知道某个元素不可能被赋值.将数组元素初始化为这个值,然后循环查找一遍?编译器不可能判断出来的,用其做无效表示

数组占的字节数:sizeof(mes)数组的元素个数sizeof(mes)/sizeof(mes[0])

网站首页 | 网站地图
All rights reserved Powered by www.zrcd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com