我们多么幸福(伴奏)(:C++分配长度问题?

来源:百度文库 编辑:高考问答 时间:2024/04/29 09:44:29
 
在C++中什么时候用strlen,sizeof?
最好能举些简单的例子,我懂得用,但我现在弄乱了,所以希望你能举些好的例子,帮我区别它们!!!

strlen用于求字符串的长度。其原理是通过遍历字符串,识别末尾的\0来计算长度的。
char * a ="test1";
strlen(a); //=5
strlen在程序运行期间执行计算。

sizeof用于求各种变量类型的长度。由于各种变量类型在所在的计算机架构上是固定,(例如32位机上,int变量是4个byte).所以sizeof在程序编译期间就计算出结果了。
sizeof(a); //=4

sizeof是类型所占长度的大小
strlen是一个函数,是得到字符串char *指向内容的长度

比方说 char *p="hello"
假设你是32位机器,如果用TC,16位机器应该是2
sizeof(p) == 4 因为指针是unsigned int型
strlen(p) == 6 是字符串的长度,这里注意,每个字符串后面都跟一个/0结尾,所以是6

strlen计算字符串长度
sizeof计算变量或对象所占内存的大小(按字节单位)

Strlen()函数计算出来的值是字符串的长度,不包括后面的\0.