容量b\B\KB\MB\GB,数组空间

最小的单位是bit(简称b),是储存器的最小单位,表示一位二进制数
接下来是字节(Byte, 简称B),1Byte=8bit,是存储器的基本单位,通常被称为一个存储单元。

常规:

1bit
1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB
1ZB = 1024EB
1YB = 1024ZB



平时会想过c语言中一个数组占内存的多少空间
我们可以使用sizeof运算符来计算

#include 

int main(){
    int a[] = {1, 2, 3, 3};
    long long b[] = {1, 2, 3, 3};
    char c[] = {"hello, world!"};
    float d = 5.0;
    double e = 5.0;

    printf ("int类型: %d\n", sizeof(a));
    printf ("long long类型: %d\n", sizeof(b));
    printf ("char类型: %d\n", sizeof(c));
    printf ("float类型: %d\n", sizeof(d));
    printf ("double类型: %d\n", sizeof(e));

    return 0;
}

输出:

int类型: 16
long long类型: 32
char类型: 14
float类型: 4
double类型: 8



int是32位,long long是64位,char是8位,float是32位,double是64位

而sizeof输出的单位是B,也就是8bit(8位)
所以数组a[n]的占用空间是n * sizeof(类型)

近些年的算法题目中,基本可以开辟的数组空间是a[1000006]大小左右
也就是32B*1000006=4MB左右

你可能感兴趣的:(存储)