c++ sizeof和strlen

 1 #include <iostream>
 2 #include <cstring>
 3 
 4 int main()
 5 {
 6     char *str1 = "happy";
 7     //64位系统,返回的是指针的大小(指针占8字节)
 8     std::cout << str1 << "-sizeof:" << sizeof(str1) << std::endl;
 9     //返回真实的字符串的大小
10     std::cout << str1 << "-strlen:" << strlen(str1) << std::endl;
11 
12     char str2[] = "Sunday";
13     //计算字符串数组的结果是真是的字符数组的大小
14     std::cout << str2 << "-sizeof:" << sizeof(str2) << std::endl;
15     //返回真实的字符串的大小
16     std::cout << str2 << "-strlen:" << strlen(str2) << std::endl;
17 
18     char str3[12] = "Sunday1";
19     //计算字符串数组的结果是真是的字符数组的大小
20     std::cout << str3 << "-sizeof:" << sizeof(str3) << std::endl;
21     //返回真实的字符串的大小
22     std::cout << str3 << "-strlen:" << strlen(str3) << std::endl;
23 
24     //sizeof 在编译时计算好,返回编译器为其分配的数组空间大小,不关心里面存了多少数据
25     //strlen 参数必须是字符型指针,且只关心存储的数据内容,不关心空间的大小和类型
26 }

 

结果:

 

posted @ 2020-07-22 10:09  小嘉欣  阅读(356)  评论(0编辑  收藏  举报