c语言怎么获取数组的长度

c语言怎么获取数组的长度,第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。

因此,获得数组长度,只能在数组定义所在的代码区中,采用以上方法,才可以达到效果。

数组特点:

数组是相同数据类型的元素的集合。

数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。

数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。

对于VB的数组,表示数组元素时应注意:

下标要紧跟在数组名后,而且用圆括号括起来(不能用其他括号)。

下标可以是常量,变量,或表达式,但其值必须是整数(如果是小数将四舍五入为整数)。

下标必须为一段连续的整数,其最小值成为下界,其最大值成为上界。不加说明时下界值默认为1。

String类适用于描述字符串事物。

那么它就提供了多个方法对字符串进行 *** 作。

int length():获取长度。

char charAt(int index):

int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。

int indexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中出现的位置。

int indexOf(String str):返回的是str在字符串中第一次出现的位置。

int indexOf(String str, int fromIndex) :从fromIndex指定位置开始,获取str在字符串中出现的位置。

int lastIndexOf(int ch)

boolean contains(str)

特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1表示该str不在字符串中存在。所以,也可以用于对指定判断是否包含。

if(strindexOf("aa")!=-1)

而且该方法即可以判断,有可以获取出现的位置。

boolean isEmpty(): 原理就是判断长度是否为0

boolean startsWith(str);

boolean endsWith(str);

boolean equals(str);

boolean equalsIgnoreCase();

构造函数:

String(char[])

String(char[],offset,count):将字符数组中的一部分转成字符串。

静态方法:

static String copyValueOf(char[]);

static String copyValueOf(char[] data, int offset, int count)

static String valueOf(char[]):

char[] toCharArray():

String(byte[])

String(byte[],offset,count):将字节数组中的一部分转成字符串。

byte[] getBytes():

static String valueOf(int)

static String valueOf(double)

//3+"";//StringvalueOf(3);

特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

String replace(oldchar,newchar);

String[] split(regex);

获取字符串中的一部分。

String substring(begin);

String substring(begin,end);

String toUpperCase();

String toLowerCase();

String trim();

int compareTo(string);

以上就是关于c语言怎么获取数组的长度全部的内容,包括:c语言怎么获取数组的长度、String 常用API、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9627429.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存