C++中float i=3.14;本应该是double类型,但是sizeof(i)测出来为什么是4字节而不是8字节

C++中float i=3.14;本应该是double类型,但是sizeof(i)测出来为什么是4字节而不是8字节
#include
using namespace std;
int main()
{
float i = 3.14;
cout << sizeof(i) << endl;
}
输出:4

我明白了,3.14是double类型,但是i 是float类型。

因为你记错了,float就是4字节

你所定义的float i=3.14就已经使得i的数据类型为float,而float的长度为4,所以sizeof(i)=4;同时double的长度为8,如果将i定义为double,则sizeof(i)=8