C各个类型的大小

1个字节(byte)是8bit.

我采用的是64位系统,64位指CPU寄存器的数据宽度是64位的。

short 和 int:short比int更节省空间,short占内存是Int的一半,当要考虑程序的空间性而且short足以存储所需数据的话就用short。

float 和 double:double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得 多,能用单精度时不要用双精度(以省内存,加快运算速度)

64位系统:

int型:4字节
char型:1字节
bool型:1字节
double型:8字节
float型:4字节
long型:8字节
short型:2字节
unsigned int型:4字节
unsigned long型:8字节
bool型:1字节

测试程序:

//============================================================================
// Name        : 各类型大小.cpp
// Author      :
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
using namespace std;

int main() {
    cout<<"int型:"<<sizeof(int)<<"字节"<<endl;
    cout<<"char型:"<<sizeof(char)<<"字节"<<endl;
    cout<<"bool型:"<<sizeof(bool)<<"字节"<<endl;
    cout<<"double型:"<<sizeof(double)<<"字节"<<endl;
    cout<<"float型:"<<sizeof(float)<<"字节"<<endl;
    cout<<"long型:"<<sizeof(long)<<"字节"<<endl;
    cout<<"short型:"<<sizeof(short)<<"字节"<<endl;
    cout<<"unsigned int型:"<<sizeof(unsigned int)<<"字节"<<endl;
    cout<<"unsigned long型:"<<sizeof(unsigned long)<<"字节"<<endl;
    cout<<"bool型:"<<sizeof(bool)<<"字节"<<endl;
    return 0;
}

原文地址:https://www.cnblogs.com/shrimp-can/p/5148476.html