A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 新生heima 于 2015-8-16 14:31 编辑

请大神说的详细点!

3 个回复

正序浏览
960743995 发表于 2015-8-15 17:05
1.Strlen()只是用来求字符串类型的常变量数组等的长度.只能用来求string类型。
2.sizeof()用来求常变量数 ...

多谢回答,很详细,明白了,之前一直有点混乱
回复 使用道具 举报

1.Strlen()只是用来求字符串类型的常变量数组等的长度.只能用来求string类型。
2.sizeof()用来求常变量数组等在内存中占的空间大小,即字节数。
因为char类型变量一个字母占1字节,所以有时候二者计算结果相同,但有时候并不相同。如:
char str[10]="itcast";
int a=strlen(str);      //结果 a=6; 因为有6个字符。
int b=sizeof(str);      //结果 b=10; 因为数组大小为10,而一个字符占的字节为1,所以b = 10*1 =10.
综上,如果你要求字符串的长度,用strlen();如果你的目的是看这个常变量占的内存,用sizeof()。
回复 使用道具 举报
1.Strlen只是用来求字符串类型的常变量数组等的长度。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马