结构体的强制类型转换


之前在写内存注入的时候,寻找IAT表都是手动计算的,后来发现可以直接用结构体,在结构体的赋值那里不是很懂,于是便写了个简单的程序来测试


 


///////////////////////////////////////////////////////////////////////////// // 文件名 : test.c // 工程 : test // 作者 : enjoy5512 修改者 : enjoy5512 最后优化注释者 : enjoy5512 // 个人技术博客 : blog.csdn.net/enjoy5512 // 个人GitHub : github.com/whu-enjoy // csdn code : code.csdn.net/enjoy5512 // 描述 : 测试结构体的赋值操作 // 主要函数 : // 版本 : 最终确定版 完成日期 : 2016年5月30日 21:35:18 // 修改 : ///////////////////////////////////////////////////////////////////////////// #include <stdio.h> int main(void) { unsigned char a[] = "0123456789abcdefghijk"; //无符号字符数组 struct A //结构体A,一个int 三个char 再接一个int { int a; char b; char c; char d; int e; }p,*pp; struct B //结构体B,一个int 一个 char 在接一个int { int a; char b; int c; }; p.a = 1; //结构体A p的初始化 p.b = '2'; p.c = '3'; p.d = '4'; p.e = 5; pp = &p; //将结构体p赋值给pp pp = a; //用数组a来给结构体pp赋值 pp = (struct A *)a; //强制类型转换用数组a给结构体pp赋值 pp = (struct B *)a; //强制类型转换成结构体B再给pp赋值 return 0; }


转载:http://blog.csdn.net/enjoy5512/article/details/51559848


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM