一. 区别
strlen() 是一个函数,求字符串的长度,它的长度不包括‘\0’;
sizeof() 是一个操作符,求数据类型(实体)的大小;
这是简单定义区别,四不四傻傻的分不清,下面我们来搞下应用一探究竟。
二. 应用
1. 求数组长度
(1)int array[10] = { 1, 2, 3, 4, 0 };
strlen((char *)array) = 4;
sizeof(array) = 10;
(2)int array[10] = { 0, 1, 2, 3, 4};
strlen((char *)array) = 0;
sizeof(array) = 10;
(3)int array[10] = { 1, 2, 0, 3, 4 };
strlen((char *)array) = 2;
sizeof(array) = 10;
2. 求字符串长度
(1)char *array = "01234";
strlen((char *)array) = 5;
sizeof(array) = 5;
(2)char *array = "12340";
strlen((char *)array) = 5;
sizeof(array) = 5;
以上实例仅供参考,环境是VS2015。如有误之处,恳请广大朋友指正,谢谢!