关于二级指针

来源:互联网 发布:中国网络电视台怎么样 编辑:程序博客网 时间:2024/04/29 07:04
#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;struct mst{int *a;//对齐,扩展为8字节double f;int *b;int *c;};int main(){mst st;int array1[2]= {1,2};int array2[3]= {3,4,5};int array3[2]= {6,7};st.a=array1;st.b=array2;st.c=array3;int **addr=(int**)&st;cout<<addr[0][1]<<endl;cout<<addr[4][0]<<endl;//4个整数偏移量。a对齐后8字节,f也是8字节,共16个字节,4个32位。cout<<addr[5][1]<<endl;/*cout<<"oa="<<offsetof( mst, a )<<endl; //0cout<<"of="<<offsetof(mst,f)<<endl; //8cout<<"ob="<<offsetof(mst,b)<<endl; //16cout<<"oc="<<offsetof(mst,c)<<endl; //20*/cout<<"size of object:"<<sizeof(mst)<<endl;system("pause");return 0;}