今天课上老师提了一个有趣的小问题:字符串'123456789'和整形数字123456789哪个占据的空间更大?
我当时的第一反应是后者更大,因为当时我脑子里的想法是这样的:整型数字存储在计算机中需要转换成机器数,123456789——一个九位数,转换成二进制将是很长很长的一串0和1,而字符串呢,我想象的是像数组那样,开辟一片空间,一个个小格子分开,每个小格子里面存放‘1’ ‘2’‘3’ ……所以只需要9个小房子就OK了。
可老师给的答案却是字符串占据的空间将会更大,因为,字符串中一个字符占据1个字符,最末尾还会有一个'\0',所以'123456789'这个字符串占据10个字节。而对于整型数而言,其内存为4字节,远小于10个字节。
我豁然开朗。