在我们编程呢个的过程中,特别是对于一些涉及到数组(或字符串)的编程时,我们往往需要知道一个数组的大小,那么我们该如何获取数组(或字符串)的大小呢???如果仅仅使用一种语言,我们或许很容易记住,也不会引起混淆,但当我们使用好几种语言时,往往就会出现记忆混淆的情况,从而导致程序出错,因此我总结了几种常见语言中统计数组(或字符串)长度的函数。
1、C语言
在C语言中统计字符串的长度有两种函数,分别是strlen函数和sizeof() 函数,但这两种两种方法获得的字符串长度却不一样。
注意:
1、strlen()函数求得的字符串长度是从字符串的第一个元素到第一个“\0”之间的元素的个数(简单的说,如果一个字符串的中间包含元素“\0”,那么我们使用strlen()函数求得的就不是整个字符串真实的长度,同时长度未包括“\0”在内);
2、sizeof()函数求得的结果是存储该字符串的变量占用的空间大小,统计的长度会包括“\0”在内,同时如果“\0”后面还有空余的空间,也会计算在内。
在C语言中求解数组的长度,通常没有一个好的方法,我们通常是使用sizeof()函数来计算数组的长度,假设我们定义一个数组array,那么sizeof(array) = 整个array数组所占的字节数,sizeof(array[0]) = 数组中第一个数所占用的字节数,我们可以得到数组的长度就为: 数组长度 = sizeof(array)/sizeof(array[0])
2、C++
在C++中,获取字符串长度有三种方法:
①用string的成员方法length() 获取字符串的长度;
②用string的成员方法size() 获取字符串的长度;
③使用strlen 来获取字符串的长度,需要注意的是,在使用strlen时,需要使用c_str将C++中的string类型转换为char*类型。
示例代码:
String str = 'hello world';
cout << str.length() << endl;
cout << str.size() << endl;
注意:
在C++中求解数组的长度和C语言中一样,都是使用sizeof() 函数来计算得到数组的长度。
3、Java
java中获取数组的长度使用的是数组的属性length ,来获取数组的长度。使用的语法是:数组名.length
示例代码:
String[] array = new String[8]
System.out.println(array.length)
结果为:
8
在java中统计字符串的长度使用的是string类的length() 方法,使用的语法是:字符串名.length()
注意:
在java中统计集合 的长度时,使用的是size() 方法。
4、Python
在python中统计数组(或字符串)的长度,我们需要使用len() 这个函数,示例代码如下:
nums = {1, 3, 5, 7, 9, 0}
print(len(nums))
str = 'how old are you?'
print(len(str))
结果为:
6
16