关于C++中sizeof()的问题

doublews[3]={10000.0,2000.0,30000.0};double*pw=ws;为什么sizeof(ws)得到的结果是24,sizeof(pw)得到的... double ws[3] = {10000.0,2000.0,30000.0};
double * pw = ws;
为什么sizeof(ws)得到的结果是24,sizeof(pw)得到的结果是4
展开
 我来答
tunpishuang
2013-03-20 · TA获得超过232个赞
知道小有建树答主
回答量:348
采纳率:100%
帮助的人:85.5万
展开全部
sizeof(x)的含义是x所占的字节数量。
ws是一个double数组包含了三个元素 类型是double []。每个double占8字节。8x3=24。所以sizeof(ws)返回24。
而pw是的类型是double*是指向ws的一个指针。指针的大小是4个字节。所以sizeof(pw)=4。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
bingjingjiexue
2013-03-20
知道答主
回答量:13
采纳率:0%
帮助的人:6.9万
展开全部
以32位机为例
sizeof(double) = 8
ws[3]为包含3个double类型的元素的数组 所以是 sizeof(double)*3 = 24
sizeof(double *) = 4
pw 为double *型的指针,存储的是ws数组的首地址 所以sizeof(pw)=4

请注意学习指针那块。
追问
什么是32位机呢?  系统?  我的系统是64位的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cooke1234
2013-03-20 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3520万
展开全部
double * 是指针,在你的机器上指针的大小是4字节。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郑州条码收款机
2013-03-20 · TA获得超过1581个赞
知道小有建树答主
回答量:1633
采纳率:0%
帮助的人:907万
展开全部
一个是数组,一个是指针地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaonan9523
2013-03-20
知道答主
回答量:1
采纳率:0%
帮助的人:1498
展开全部
因为pw是一个指针,所有的指针的长度都是4,而sizeof(ws),指的是ws[3]所占的所有空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式