机器人大战a外传商店:请问'a'与"a"谁占的内存空间(或者其他占空间的)大?

来源:百度文库 编辑:高校问答 时间:2024/05/04 07:51:45
我在用cout<<'a'与cout<<"a"时突然想到.这2个谁比较占空间.
我知道前一个是字符表示方法,只能输出一个字符.
后一个是字符串表示方式,可以输出多个.

由于在输出时,难免会出现许多仅输出一个逗号的,小程序也就算了,可是上百万行的大程序,一个逗号就成大问题了.
我想问的是','与","这2个谁占的空间比较大?

的确是“,”比较大,占多一个字符空间,但是编程时不该过早顾虑这种小事。 程序设计好后,开始编码时应该以最方便的方法、最少的劳动、最短的时间完成正确的编码。

编完之后若速度太慢或占空间太多再进行优化并不迟。 别忘了 Donald E. Knuth 老爷爷的告诫:
过早的优化是万恶之根源 !

当然是“a”占的大一点,至少字符串要有个‘\0’做结束符的
但是并不像你所想的那样,仅输出逗号的就一定要用‘c’这样的了
因为多数使用的都是字符串拼接后统一输出,你用字符型是省了些空间,但是同样在使用时带来了转换的问题,影响速度,所以要衡量了
除非是专门的字符比较或按位操作什么,还是建议用字符串型

是"a"比'a'大1,用sizeof("a")与sizeof('a')比较得出一个2,一个1,前面字符串的数目包括'\0'

一样大,sizeof函数可以看出

"a"是字符串
"a"是字符

"a"表示一个字符串,占两个char的内存,一个是'a',一个是'\0'
'a'表示一个字符,占一个char,即'a'