游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1887|回复: 7

sizeof的问题

[复制链接]

57

主题

139

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2006-2-7 15:11:00 | 显示全部楼层 |阅读模式
int *lp=new int[100];
sizeof(*lp)的结果是什么?

22

主题

191

帖子

217

积分

中级会员

Rank: 3Rank: 3

积分
217
QQ
发表于 2006-2-7 15:54:00 | 显示全部楼层

Re:sizeof的问题

呵呵,这也就是问 指针的内存大小,不同的机器会得到不同的结果

57

主题

139

帖子

141

积分

注册会员

Rank: 2

积分
141
 楼主| 发表于 2006-2-7 16:04:00 | 显示全部楼层

Re:sizeof的问题

我问的是
sizeof( *lp );
不是
sizeof( lp );

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-2-7 17:57:00 | 显示全部楼层

Re:sizeof的问题

一样的

55

主题

263

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
发表于 2006-2-7 21:31:00 | 显示全部楼层

Re:sizeof的问题

sizeof(*lp)==sizeof(int)==4

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
发表于 2006-2-7 22:03:00 | 显示全部楼层

Re:sizeof的问题

确定值,是4.除非lp是void类型的指针,否则sizeof(*lp)都是该指针所指类型在内存中占的字节数

7

主题

67

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2006-2-7 22:34:00 | 显示全部楼层

Re:sizeof的问题

要看系统了,还有指针的类型,
32位系统下通常是4字节,如果是一个继承了很多层了class,那么指针所占的字节数会增加到8字节。

11

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2006-2-7 23:50:00 | 显示全部楼层

Re:sizeof的问题

不要搞得那么复杂嘛。
lp是一个int*,所以*lp就是一个int
所以sizeof(*lp) 就是sizeof(int)啦,具体是多少要看系统啦,一般32位机是4.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 09:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表