题目:
定义下列变量,一共需要占用多少内存呢?如果这些变量的内存是连续分配的,且变量\(a\)的地址是0x0700F00,那么\(ch[1024]\)的地址(十六进制)是什么呢?
int a,b,c[100];
long long big;
double pi,number;
unsigned int x[2000];
char ch[10000];
答:\(int\)是4个字节,那么\(a,b\)各4个字节,就是8
个。
\(c[100]\)就是\(4 \times 100\)就是400
个字节。
\(long \ long\) 是8
个字节。
\(double\)是8个字节,两个变量就是16
个字节。
\(unsigned \ int\)就是8个字节,数组长度2000,就是16000
。
\(char\)是一个字节,再加一个1024
\(sum=8+400+8+16+16000+1024=17456\)
原始地址:0x0700F000,再加上17456,就是117501952+17456=117519408=0x7013430