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

2025-04-04 04:54:45
推荐回答(5个)
回答1:

sizeof(x)的含义是x所占的字节数量。
ws是一个double数组包含了三个元素 类型是double []。每个double占8字节。8x3=24。所以sizeof(ws)返回24。
而pw是的类型是double*是指向ws的一个指针。指针的大小是4个字节。所以sizeof(pw)=4。

回答2:

以32位机为例
sizeof(double) = 8
ws[3]为包含3个double类型的元素的数组 所以是 sizeof(double)*3 = 24
sizeof(double *) = 4
pw 为double *型的指针,存储的是ws数组的首地址 所以sizeof(pw)=4

请注意学习指针那块。

回答3:

double * 是指针,在你的机器上指针的大小是4字节。

回答4:

一个是数组,一个是指针地址

回答5:

因为pw是一个指针,所有的指针的长度都是4,而sizeof(ws),指的是ws[3]所占的所有空间