C++笔试题(阿里)——sizeof运算符

来源:互联网 发布:php转换特殊字符 编辑:程序博客网 时间:2024/06/05 14:18
#include <iostream>using namespace std;void main(){char *p;char *q[20];char *m[20][20];int (*n)[10];struct MyStruct{char dda;double dda1;int type;};struct MyStruct k;cout<<"sizeof(p)= "<<sizeof(p)<<endl;cout<<"sizeof(q)= "<<sizeof(q)<<endl;cout<<"sizeof(m)= "<<sizeof(m)<<endl;cout<<"sizeof(n)= "<<sizeof(n)<<endl;cout<<"sizeof(k)= "<<sizeof(k)<<endl;cout<<"sizeof(char)= "<<sizeof(char)<<endl;cout<<"sizeof(double)= "<<sizeof(double)<<endl;cout<<"sizeof(int)= "<<sizeof(int)<<endl;cout<<"sizeof(MyStruct)= "<<sizeof(MyStruct)<<endl;}

结果输出如下:

对p而言:指针所占字节为 4。

q为一维的指针数组:每个指针占4个字节,20个占:4*20=80.

m为二维的指针数组:同上。80*20=1600.

n为指针。与q相同。

k:结构体对象,按照字节对齐,最大为double,占8字节。按照对齐原则,为24.

char、double、int各自的字节数分别为。1、8、4.

MyStruct结构体:同k。

0 0
原创粉丝点击