因為本人考試經常MLE,所以想總結一下與記憶體計算有關的內容
記憶體計算公式
記憶體=變數數量*變數型別所佔的位元組/1024/1024(M)
常見的變數型別所佔的位元組
bool | 1 |
char | 1 |
int | 4 |
long long | 8 |
double | 8 |
long double | 12 |
short | 2 |
float | 4 |
如果忘記了可以使用sizeof函式檢視
1 printf("%d",sizeof(a));
常見陣列大小所佔的記憶體
所有型別均為int,單位:M
1e6+10 | 3.81473541259765625 |
1e7+10 | 38.14701080322265625 |
1e8+10 | 381.46976470947265625 |
(1e3+10)*(1e3+10) | 3.8913726806640625 |
(1e4+10)*(1e4+10) | 382.2330474853515625 |
以後再MLE就該吃shit了。。