请问在一个64位的操作系统里,sizeof(char)的值是多少?

ratzip 2011-04-09 01:19:58
请问在一个64位的操作系统里有
char a[10];
sizeof(a);

结果应该是多少
...全文
2339 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pcliuguangtao 2011-04-09
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

int main( )
{
char a[ 10 ];
cout<<sizeof( a )<<"\n";
cout<<sizeof( &a )<<"\n";

return 0;

}

在64位系统上结果是:
10
8
在32位系统上结果是:
10
4
gcc 4.4.5编译
DennisCPP 2011-04-09
  • 打赏
  • 举报
回复
64位系统与32位操作系统的区别就是CPU一次能够处理的数据位数,位数越大,性能越高,计算速度也快,而char数组的长度只取决于它在内存中占了多少空间,所以对于32位操作系统和64微操作系统都是一样的。
pathuang68 2011-04-09
  • 打赏
  • 举报
回复
char在任何位数的操作系统上都占1个byte。
所以sizeof(a)是10
OmarsO 2011-04-09
  • 打赏
  • 举报
回复
MSDN解释:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t.
所以还是10
Proteas 2011-04-09
  • 打赏
  • 举报
回复
最直接的影响是 int 吧。
yutaooo 2011-04-09
  • 打赏
  • 举报
回复

10吧。还能是多少?

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧