- #include <iostream>
- using std::cin;
- using std::cout;
- using std::string;
- using std::endl;
- void fun(char str[100])
- {
- str="nihaowoyehao";
- char str1[100]="nihaowoyehao";
- cout<<sizeof(str)<<endl;//4;因为最开始没有初始化,所以是个指针大小
- cout<<sizeof(str1)<<endl;//100;初始化了所以是100了
- cout<<strlen(str)<<endl;//系统为str分配的空间,测试为15
- }
- void main()
- {
- char str[6]="hello";
- char *p1=str;
- int n=10;
- char *p2=(char *)malloc(10);
- cout<<sizeof(str)<<endl;//字符串所占的空间:6
- cout<<strlen(str)<<endl;//字符串的长度:5
- cout<<sizeof(p1)<<endl;//指针所在的空间:4
- cout<<strlen(p1)<<endl;//指针所指的字符串的长度:5
- cout<<sizeof(n)<<endl;//整数的长度:4
- cout<<strlen(p2)<<endl;//分配空间的长度,测试为15
- fun(p2);//指针所占的空间:4
- }
- #include <iostream>
- using std::cin;
- using std::cout;
- using std::string;
- using std::endl;
- void fun(char str[100])
- {
- cout<<sizeof(str)<<endl;//指针所占的空间:4
- cout<<strlen(str)<<endl;//系统为str分配的空间,测试为15
- }
- void main()
- {
- char str[]="hello";
- char *p1=str;
- int n=10;
- char *p2=(char *)malloc(10);
- cout<<sizeof(str)<<endl;//字符串所占的空间:6
- cout<<strlen(str)<<endl;//字符串的长度:5
- cout<<sizeof(p1)<<endl;//指针所在的空间:4
- cout<<strlen(p1)<<endl;//指针所指的字符串的长度:5
- cout<<sizeof(n)<<endl;//整数的长度:4
- cout<<strlen(p2)<<endl;//分配空间的长度,测试为15
- fun(p2);//指针所占的空间:4
- }