您的位置:首页 > 职场人生

sizeof与strlen的区别:面试回答

2016-04-15 09:56 267 查看
示例:

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测量得到的仍然是一个指针的长度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: