摘要: 指针强制转换在指令变量赋值上,只是编译器的一个善意的提醒,在汇编语言中,和不加强制转换的指令时一样的,并没有多产生指令。强制转换后的影响不是在转换的时候发生,而是在用转换后的身份去访问内存时体现到了指令中。例子: 6: int i; //globle variable 7: int *pi; //globle variable 8: short *ps; //globle variable 9: char *pc; //globle variable 10: 11: int _tmain(int argc, _TCHAR* argv[]) 12: { 13: 14: pi = &i;0 阅读全文
posted @ 2013-11-25 16:53 magiczgz 阅读(540) 评论(0) 推荐(0) 编辑
摘要: C语言的指针类型包含两方面信息:一是地址,存放在指针变量中;二是类型信息,关乎读写的长度,没有存储在指针变量中,位于用该指针读写时的mov指令中,不同的读写长度对应的mov指令不同。例子:int gi; //globle variableint *pi; //globel pointer variableint _tmain(int argc, _TCHAR* argv[]){ pi = &gi;0127136E mov dword ptr ds:[01277138h],127713Ch *pi = 12;01271378 mov eax,dword ptr ds:[01277138h 阅读全文
posted @ 2013-11-25 16:06 magiczgz 阅读(273) 评论(0) 推荐(0) 编辑