Strlen()与Sizeof()的区别
2018-06-18 04:00:13来源:未知 阅读 ()
strlen()函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个‘\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到‘\0’。strlen的结果在运行时才能计算来。
sizeof()返回的是变量声明后所占的内存数,不是实际长度此外sizeof不是函数,仅仅是一个操作符,strlen是函数。sizeof在编译时计算出来。
例子:
1.char* s="123456789";
sizeof(s)//4,s是指向字符串常量的字符指针
strlen(s)//9,只能用它获得这个字符串的长度
2.char s[]="123456789";
sizeof(s)//10,s是数组,计算到'\0'位置,因此9+1
strlen(s)//9, strlen是个函数内部实现是用一个循环计算到'\0'为止之前
3.char s[100] = "123456789";
sizeof(s) //100, s表示在内存中的大小100×1
strlen(s) //9, strlen是个函数内部实现是用一个循环计算到'\0'为止之前
4.int s[100] ={'0','1','2','3','4','5','6','7','8','9'};
sizeof(s) //400, s表示再内存中的大小100×4
strlen(s) //错误, strlen的参数只能是char* 且必须是以'\0'结尾
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- float和double的区别 2020-01-04
- 简述c和c++的基本区别,你真的懂吗?(面试必学) 2019-12-06
- bit(比特)与Byte(字节)的区别与关系 2019-11-06
- C/C++ return *this和return this的区别 2019-10-25
- C++和c语言的区别 2019-10-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash