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函数求的是字符串的实际长度,它是从开始到遇到第一个'\0',即不包括'\0'的长度

char b[]="abcdef";
printf("%d\n",strlen(b));    //6

 

posted @ 2018-04-11 18:04  Hsinwang  阅读(110)  评论(0编辑  收藏  举报