变长数组(指针高级应用)
2013-03-06 17:22
232 查看
#include <iostream> using namespace std; #pragma pack(1)//禁用字节对齐 struct curData { char data[0];//变长数组,这类应用一般适合于服务器之间转发的协议,节省内存 //int type; }; #pragma pack() int main() { std::cout<<sizeof(curData)<<std::endl; curData* myData = new curData(); char* curDataTag = myData->data; char* myCurData = myData->data; *(int*)myCurData = 10; //myCurData->data[1] = 16; myCurData += sizeof(int);//指针往后移sizeof(int),继续存其它的数据 *(long long*)myCurData = 8589934592; myCurData += sizeof(long long); *(long long*)myCurData = 999999; std::cout<<*(int*)(curDataTag)<<std::endl; curDataTag += sizeof(int); std::cout<<*(long long*)curDataTag<<std::endl; curDataTag += sizeof(long long); std::cout<<*(long long*)curDataTag<<std::endl; return 0; }
相关文章推荐
- c语言高级指针理解及应用(下)
- C语言复杂表达式和指针高级应用
- 结构体对函数指针的高级封装应用
- c语言高级指针理解及应用(上)
- 高级指针的概念和应用完整版(图文讲解)
- 【学习ios之路:C语言】②高级指针应用
- 指针高级应用(一)
- C语言高级应用——把握N级指针
- 指针高级应用(二)
- 4.4.C语言复杂表达式和指针高级应用
- 指针的高级应用
- 指针的高级应用
- C语言强化指针高级应用学习心得
- 指针高级的应用
- C++抽象编程——指针(4)——指针的高级应用
- 高级指针概念和应用
- 4.4、C语言复杂表达式和指针高级应用
- 静态页中利用AJAX.NET实现无刷新页面(高级应用)
- 【Java高级应用】对象序列化和反序列化
- c++高级---C/C++语言void及void指针