当前位置:   article > 正文

结构体指针和结构体对象的创建、置空、赋值以及与string的转换_结构体置空 qt

结构体置空 qt


  1. typedef struct Info
  2. {
  3. char name[5];
  4. char addr[10];
  5. int age;
  6. double salary;
  7. }tInfo, *pInfo;
  8. //tInfo为结构体Info的别名
  9. struct stTest
  10. {
  11. char name[5];
  12. char addr[10];
  13. int age;
  14. double salary;
  15. };
  16. int _tmain(int argc, _TCHAR* argv[])
  17. {
  18. //结构体指针的创建、置空、赋值
  19. pInfo info = new tInfo();
  20. memset(info, 0 ,sizeof(tInfo));
  21. info->age = 10;
  22. strcpy(info->name, "zhou");
  23. strcpy(info->addr,"shandong");
  24. info->salary = 123.123;
  25. //指针的大小为4,结构体的大小采用对齐模式,32位下是4字节对齐
  26. //下面的计算为:32 = 8+12+4+8
  27. int a = sizeof(tInfo);//32
  28. int b = sizeof(Info);//32
  29. int c = sizeof(pInfo);//4
  30. int d = sizeof(info);//4
  31. //结构体转为string
  32. string str;
  33. str.assign((const char*)info, sizeof(tInfo));
  34. //把string转为结构体
  35. pInfo get = new tInfo();
  36. memcpy(get, str.c_str(), str.size());
  37. //结构体对象创建、置空、赋值
  38. stTest st;
  39. memset(&st, 0, sizeof(stTest));
  40. strcpy(st.addr, "shandong");
  41. st
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/730772
推荐阅读
相关标签
  

闽ICP备14008679号