char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存 ...
分类:
其他好文 时间:
2016-08-09 21:59:16
阅读次数:
236
语法虽然琐碎,犯了低级错误代价可就大了,列出一些容易混淆概念,避免以后出错 sizeof和strlen的区别在于:1.sizeof是运算符,语言支持的,strlen可以求malloc出来的字符串的长度。例如char *pkt ="abceef"; sizeof(pkt) = 4; 因为pkt是指针大 ...
分类:
编程语言 时间:
2016-06-16 17:49:54
阅读次数:
297
strlenstrlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。指实际字符串或字符数组的实际长度(不是所占空间的字节数)。函数原型exter ...
分类:
编程语言 时间:
2016-05-13 14:32:25
阅读次数:
123
sizeof 和 strlen 都是c/c++ 中常见的符号,他们的功能是判断数组长度。那么他么到底有什么区别 1、sizeof 不是函数,而是一个操作符。字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来! strlen 是一个函数,在程序运行期间计算出结果。 2、strlen的结果
分类:
其他好文 时间:
2016-03-23 19:52:46
阅读次数:
159
1.sizeof和strlen的区别 #include<stdio.h> #include<string.h> int main() { char a[10] = "12345"; char *p = "12345"; char b[20]; printf("%d %d\n",sizeof(a),s
分类:
其他好文 时间:
2016-03-13 14:11:55
阅读次数:
147
1、sizeof是一个操作符,而strlen是一个函数 2、strlen的参数只能是字符串型 3、strlen的内部实现是用一个循环计算字符串的长度,直到"\0"为止。 4、sizeof操作符不能用于函数类型、不完全类型或位字段。不完全类型指具有未知存储大小数据的数据类型,如未知存储大小的数组类型、
分类:
其他好文 时间:
2016-02-19 10:27:06
阅读次数:
143
首先 sizeof是操作符,strlen是函数,两者不在同一维度上。 其次 sizeof是操作符,返回一个对象或类型名的长度,不限定类型;strlen是<string.h>中计算C风格字符串长度的函数(只能是C风格字符串,C++的string类的...
分类:
其他好文 时间:
2015-09-13 10:37:53
阅读次数:
197
1、sizeof是运算符,strlen是函数;
2、sizeof可以用类型作为参数,而strlen只能用char*型量作为参数,且必须以‘\0’结尾;
sizeof(int)=4;
3、数组名作为sizeof的参数时,不会退化为指针,而作为函数的参数的时候会退化为指针;
char a[10]="abc";
sizeof(a)=10;
strlen(a)=4;
...
分类:
其他好文 时间:
2015-07-03 10:39:52
阅读次数:
122
本文主要记录了 sizeof 操作符 和 strlen() 函数的区别,以及各自的用途。(在下才疏学浅,发现错误,还请留言指正)sizeof 和 strlen 的区别示例代码如下:#includeint main(){ char str[20]="0123456789"; printf(...
分类:
其他好文 时间:
2015-06-27 16:10:40
阅读次数:
87
1.sizeof和strlen的区别①sizeof是算符,在编译期间计算;strlen是函数,在运行期间计算。②strlen只能用char*做参数,且必须是以’\0‘结尾的,计算结果不包括’\0‘。③数组作为strlen的参数时,退化为指针;数组作为sizeof的参数时不退化。④sizeof计算对象...
分类:
其他好文 时间:
2015-05-12 11:12:46
阅读次数:
84