记录问题,还没有研究明白
- struct MY_STRUCT{
- int a;
- short b;
- char s[100];
- double d;
- };
- int main(){
- MY_STRUCT s={1,2,"he",999};
- MY_STRUCT* struct_ptr =&s;
- char *char_p =(char *) &s.s;
- int *int_ap = &s.a;
- short * int_bp = &s.b;
- double * int_dp = &s.d;
- qDebug()<<"sizeof(my_struct)" <<sizeof (MY_STRUCT);
- qDebug()<<"char_p = "<
- qDebug()<<"a = "<<*int_ap;
-
- qDebug()<<"int_ap 的地址"<
// +4是b的地址 + 108是d的地址 +8是s的地址 ,内存排序不会安装结构体顺序来 - qDebug()<<"int bp 的地址"<
- qDebug()<<"char的地址"<<&char_p; //和ap相差24个字节,因为内存对其的原因,按照结构体中字节最大的数据的整数倍补齐
- qDebug()<<"int_dp 的地址"<
-
- qDebug()<<"struct的地址"<
// 7993840 - qDebug()<<"struct的地址+1"<
1;// 7993960 相差120个字节,证明按照结构体指针的大小不是4、8,而是实际结构的大小 - qDebug()<<"1 = "<< *((int*)struct_ptr);
- qDebug()<< "2 = "<<*((short*)(struct_ptr+4)) ; //可以取到第二个元素 好像不对? 指针+1是按照指针的大小+1
- qDebug()<< "2= "<<*((short *)(char *)struct_ptr+2);
- // qDebug()<<"3 ="<< ((char *)struct_ptr+1) ; //可以取到第三个元素 104 108 116
- // qDebug()<<"3 ="<< *((double *)(char *)struct_ptr+112) ; //可以取到第三个元素 104 108 116
-
-
- }
最后一部分的偏移还在找规律
-
-
-
- qDebug()<<"struct的地址"<
// 7993840 - qDebug()<<"struct的地址+1"<
1;// 7993960 相差120个字节,证明按照结构体指针的大小不是4、8,而是实际结构的大小 - qDebug()<<"1 = "<< *((int*)struct_ptr);
- // qDebug()<< "2 = "<<*((short*)(struct_ptr+4)) ; //可以取到第二个元素 好像不对? 指针+1是按照指针的大小+1
- // qDebug()<< "2= "<<*((short *)(char *)struct_ptr+2);
- qDebug()<<"2 ="<< *(short *)(((char*)struct_ptr)+4) ;
- qDebug()<<"3 ="<< (char *)(((char *)struct_ptr)+6); //可以先找地址在获取值
- qDebug()<<"4 ="<< *(double *)(((char*)struct_ptr)+16) ;//15偏移24 5偏移16
打印字符数组每个字节的地址
-
- char a[4] = {'i','c','e','\0'};
- for(int i = 0; i < 3; ++i){
- qDebug()<<(void*)a[i] <<" "<<&a[i]<<" " << a[i]; //第一个取到是字符常量的地址
- qDebug()<< (void*)&a[i] ; //获取到指针的地址
- }
-
相关阅读:
零信任身份管理平台,构建下一代网络安全体系
C/C++ 常见数组排序算法
计算机毕业设计 SSM+Vue婚纱摄影管理系统 婚纱预约系统 婚纱套餐预约系统 婚纱摄影订购系统Java Vue MySQL数据库 远程调试 代码讲解
取得成功的产品设计需要达到哪些标准?
解决“service nginx does not support chkconfig”的问题?
个人练习-PAT甲级-1131 Subway Map
Java代理模式
Mybatis中使用了哪些设计模式
java基于Springboot+vue的健身房课程预约平台 element
线程池工作原理
-
原文地址:https://blog.csdn.net/m0_58233509/article/details/132630928