关于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 展开
double * pw = ws;
为什么sizeof(ws)得到的结果是24,sizeof(pw)得到的结果是4 展开
5个回答
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
以32位机为例
sizeof(double) = 8
ws[3]为包含3个double类型的元素的数组 所以是 sizeof(double)*3 = 24
sizeof(double *) = 4
pw 为double *型的指针,存储的是ws数组的首地址 所以sizeof(pw)=4
请注意学习指针那块。
sizeof(double) = 8
ws[3]为包含3个double类型的元素的数组 所以是 sizeof(double)*3 = 24
sizeof(double *) = 4
pw 为double *型的指针,存储的是ws数组的首地址 所以sizeof(pw)=4
请注意学习指针那块。
追问
什么是32位机呢? 系统? 我的系统是64位的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double * 是指针,在你的机器上指针的大小是4字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个是数组,一个是指针地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为pw是一个指针,所有的指针的长度都是4,而sizeof(ws),指的是ws[3]所占的所有空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询