sizeof和strlen

1. 求数组长度(sizeof/strlen)
整形数组:len=sizeof(a)/sizeof(a[0]);
字符数组:len=strlen(b);

注:
1)整形数组,通过传递数组名参数到子函数中,通过以上方法以获得数组长度是不可行的,

int getLength(int[] a){
    int length;
    length=sizeof(a)/sizeof(a[0]); //这样是错误的,得到的结果永远是2
    return length;
}

sizoef(a)的结果是指针变量a占内存的大小,64位机上是8个字节

2)C中的字符串就是以'0'结尾的字符数组
strlen函数求的是字符串的实际长度,它是从开始到遇到第一个'',即不包括''的长度

char b[]="abcdef";
printf("%d
",strlen(b));    //6
原文地址:https://www.cnblogs.com/stellar/p/8797428.html