社区
C++ 语言
帖子详情
sizeof问题
kpaxstudio
2004-09-01 11:23:21
#include <iostream.h>
void fun(char *p)
{
cout<<sizeof(p)<<endl;
}
void main()
{
fun("abcde",k);
}
结果是4,而不是6,这是为什么?
...全文
179
11
打赏
收藏
sizeof问题
#include void fun(char *p) { cout<<sizeof(p)<<endl; } void main() { fun("abcde",k); } 结果是4,而不是6,这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lwj_dxy
2004-09-01
打赏
举报
回复
up
Paris_Luo
2004-09-01
打赏
举报
回复
你求的是指针大小,当然是4
cn0cn
2004-09-01
打赏
举报
回复
看看SIZEOF的介绍。
http://www.vwind.com/blog/show.php?id=1&dirid=1&page=1
kpaxstudio
2004-09-01
打赏
举报
回复
那如何用sizeof测输入的几个字的大小呢?
waini11
2004-09-01
打赏
举报
回复
如果是sizeof(char*) 结果会是多少呢
dick4610
2004-09-01
打赏
举报
回复
这个问题以前也有人问,32位系统中指针大小是4字节
qwertasdfg123
2004-09-01
打赏
举报
回复
同意楼上。用strlen(p)吧
北极猩猩
2004-09-01
打赏
举报
回复
很简单啊,你获得的是指针p的大小,在32位系统中指针大小为4字节
sea373
2004-09-01
打赏
举报
回复
顶下
answerear
2004-09-01
打赏
举报
回复
p是个指针,指针是个地址,在16位系统中,地址是2字节,所以sizeof(p)=2bytes.在32位系统中,地址是4字节,所以sizeof(p)=4bytes.要求字符串长度,用strlen(p)才对。
Tycool
2004-09-01
打赏
举报
回复
32位系统,当然指针本身的size是4,
sizeof(char*)等于4
BTW: fun("abcde",k); 怎么和函数实现不同?笔误吧?
SIZEOF
的
问题
博主在项目中被结构体的
sizeof
()
问题
困扰许久,今日在网上发现一篇关于
sizeof
()的不错文章,决定与大家共享。
指针的大小--
sizeof
问题
和
sizeof
使用规则
本文探讨了指针的大小
问题
,特别是涉及到多维数组指针时的
sizeof
运算。示例中,a是一个指向double*[3][6]的指针,
sizeof
(a)返回4。通过递增解引用,我们发现
sizeof
(*a)为72,
sizeof
(**a)为24,
sizeof
(***a)为4,而
sizeof
(****a)等于
sizeof
(double),即8。
sizeof
(Vector<>)大小
问题
本文围绕C++中
sizeof
的使用展开。通过实例测试了不同编译器下
sizeof
(vector
)的大小,发现其与容器元素个数无关,取决于具体实现。还探讨了C++类包含STL容器时
sizeof
求类对象大小的
问题
,介绍了复合关系的构造、析构顺序及内存回收,最后总结了
sizeof
相关知识及与strlen的区别。
C++ 语言
65,211
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章