搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ strlen 与 sizeof
标题:
strlen 与 sizeof
只看楼主
zfzdhz
等 级:
新手上路
帖 子:55
专家分:0
注 册:2008-8-21
楼主
问题点数:0 回复次数:8
strlen 与 sizeof
strlen 与 sizeof 有何区别啊???
搜索更多相关主题的帖子:
sizeof
strlen
2008-09-04 14:40
StarWing83
来 自:仙女座大星云
等 级:
贵宾
威 望:
19
帖 子:3951
专家分:748
注 册:2007-11-16
第
2
楼
得分:0
两者完全没有关系。
专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-04 14:55
blackkey
等 级:
新手上路
帖 子:159
专家分:0
注 册:2005-6-8
第
3
楼
得分:0
strlen -> 是求一个字符串的长度 ;
sizeof -> 是求一个变量所占内存的大小 ;
和楼上说的一下 完全不是一个感念
2008-09-04 15:13
p1s
等 级:
贵宾
威 望:
10
帖 子:454
专家分:3
注 册:2005-11-4
第
4
楼
得分:0
sizeof也可以求出一个数组所占的空间
比如char a[10]="Hello";这时候sizeof求出来的数值为10,而不是字符串长度
如果用strlen求出来的则是字符串的长度,以字符串的结尾符作为结尾
.cn" target="_blank">《易学C++》,初学者学习C++的最佳读本。
2008-09-04 16:35
pdcboy
等 级:
新手上路
帖 子:19
专家分:0
注 册:2008-3-21
第
5
楼
得分:0
[bo][un]p1s[/un] 在 2008-9-4 16:35 的发言:[/bo]
sizeof也可以求出一个数组所占的空间
比如char a[10]="Hello";这时候sizeof求出来的数值为10,而不是字符串长度
如果用strlen求出来的则是字符串的长度,以字符串的结尾符作为结尾
个人感觉
char a[10]="Hello";这时候sizeof求出来的数值不是5么,怎是4?望赐教,谢谢
2008-09-04 22:33
pdcboy
等 级:
新手上路
帖 子:19
专家分:0
注 册:2008-3-21
第
6
楼
得分:0
怎是10?
2008-09-04 22:33
awnucel
等 级:
新手上路
威 望:
1
帖 子:68
专家分:0
注 册:2006-12-13
第
7
楼
得分:0
char a[10]="Hello";
因为在声明一个数组的时候,我们已经在内存中为他开辟了10个字节的空间,无论你是否使用,这10个字节都属于a这个数组,所以用sizeof求内存占用的时候,自然就是10
而strlen 是求字符串长度的,不包含\0在内,因为Hello 一共有5个字符,每个字符占用1个字节,所以strlen的结果就是5
2008-09-05 04:21
pdcboy
等 级:
新手上路
帖 子:19
专家分:0
注 册:2008-3-21
第
8
楼
得分:0
哦,知道了,谢谢!
2008-09-06 00:03
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-231391-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.181663 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved