首页 > 编程知识 正文

char定义的字符占几个字节,c++char占几个字节

时间:2023-05-06 10:12:10 阅读:178550 作者:3928

struct student{char a; int c; 短b; (; printf('%dn ',sizeof(structstudent ) ); 此时,分配给char的是4个字节(因为int将占用4个字节)。

struct student{char a; 短b; int c; (; printf('%dn ',sizeof(structstudent ) ); 此时,分配给char的字节为2个字节。 (因为short占了2个字节) ) )。

struct student{short b; char a; int c; (; printf('%dn ',sizeof(structstudent ) ); 此时,分配给char的字节还有2个字节。 还是因为short占了2个字节。

char ch; printf('%d ',sizeof ) ) ch ); 此时分配给char的字节是一个。

那是什么原因?

这是根据字节对齐的。字节按照一定规则在空间上排列就是字节对齐。

在现代的计算机中,内存空间用byte隔开,理论上似乎任何类型的变量的访问都可以从任何地址开始,但实际上是在访问特定类型变量的时候经常在特 定的内存地址访问,因此要按顺序排出。 这就是对准。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。