sizeof与strlen的区别:面试回答
2016-04-15 09:56
267 查看
示例:
面试回答总结:
我认为sizeof()与strlen()有以下几个区别。strlen是一个函数,它测量的是字符串中除去’\0’以外的字符数;而sizeof是一个关键字,含义可用作运算符。它测量的是对象或者类型所占的内存的字节数,包括’\0’在内;对于strlen的使用没有什么限制。而当sizeof测量指针的长度,得到的是地址的长度;当sizeof测量数组的时候,得到的是整个数组的长度;当函数调用数组做为参数的时候,用sizeof测量得到的仍然是一个指针的长度。
char *ptr = "hello world"; char str[100] = "hello world"; sizeof(ptr) = 4B sizeof(str) = 100B strlen(ptr) = 11B strlen(ptr) = 11B
面试回答总结:
我认为sizeof()与strlen()有以下几个区别。strlen是一个函数,它测量的是字符串中除去’\0’以外的字符数;而sizeof是一个关键字,含义可用作运算符。它测量的是对象或者类型所占的内存的字节数,包括’\0’在内;对于strlen的使用没有什么限制。而当sizeof测量指针的长度,得到的是地址的长度;当sizeof测量数组的时候,得到的是整个数组的长度;当函数调用数组做为参数的时候,用sizeof测量得到的仍然是一个指针的长度。
相关文章推荐
- [华为面试题_ND2]运行错误请检查是否存在数组越界非法访问_野指针乱访问_空指针乱访问等情况_java_scanner_error
- 理想的程序员
- 求连乘最大
- “10倍效率”程序员/开发人员的习惯
- 面试宝典--[微软面试100题]
- 马上就要面试了。。。
- Java面试题
- 面试记录五:腾讯后台研发
- 面试记录四:腾讯后台研发问题大集锦
- 面试记录三:腾讯后台研发
- 面试记录二:腾讯后台研发
- 2016年最值得新手程序员阅读的书:《增长工程师指南》
- MYSQL 数据表修复及数据恢复面试题
- OSChina 周五乱弹 ——程序员的友谊小船是如何说翻就翻的
- 浅谈栈和队列的有关面试题
- 刚挣钱的程序员同学该如何花钱?
- 程序员的“非程序员”之路
- 程序员的激情其实是一种痛苦
- 程序员如何以一敌二
- 一个优秀的程序员应该如何提高工作效率?