强制转换成指针类型并赋值

这句*((ULONG*)OldNtReadMemory)=MyNtReadMemory;和这句(ULONG*)OldNtReadMemory=MyNtReadMemory... 这句*((ULONG*)OldNtReadMemory)=MyNtReadMemory;
和这句
(ULONG*)OldNtReadMemory=MyNtReadMemory;有什么不同
这样(ULONG*)不就已经强制转换成指针了吗?为什么前一句用到两个*号。
展开
 我来答
填空还是选择
2012-08-24 · TA获得超过945个赞
知道小有建树答主
回答量:520
采纳率:100%
帮助的人:417万
展开全部
因为
MyNtReadMemory和 ULONG是一个层次的数据。
如果使用

(ULONG*)OldNtReadMemory就是将MyNtReadMemory赋给ULONG*类型的指针,指针名字为
OldNtReadMemory。
但是这个时候MyNtReadMemory就是把它的值当成地址赋给OldNtReadMemory。
利用OldNtReadMemory找到的不在MyNtReadMemory;而是MyNtReadMemory作为地址指向的内存空间。
你这里单独提出疑问,我这样解释,你不一定能听得懂,你可以联系一下后续代码的使用。
而且一般情况下可能不是你那样的用法,一般会是
ULONG a;
a=*(ULONG*)b;
yxmsust130
2012-08-24 · TA获得超过107个赞
知道答主
回答量:268
采纳率:0%
帮助的人:154万
展开全部
*((ULONG*)OldNtReadMemory)=MyNtReadMemory
是将OldNtReadMemory指向的内存的值赋值为MyNtReadMemory
但OldNtReadMemory的值没变;

而 (ULONG*)OldNtReadMemory=MyNtReadMemory
是将OldNtReadMemory的值赋值为MyNtReadMemory
OldNtReadMemory改变了;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cool_zbk
2012-08-24 · TA获得超过282个赞
知道答主
回答量:226
采纳率:50%
帮助的人:145万
展开全部
*((ULONG*)OldNtReadMemory)=MyNtReadMemory; // 是取OldNtReadMemory所存储的数据,将数据赋值为MyNtReadMemory

(ULONG*)OldNtReadMemory=MyNtReadMemory // 是取地址,OldNtReadMemory表示ULONG型指针,将此指针赋值为MyNtReadMemory

我教你一个门路,可以把括号去掉来看。 强制转换类型不过是语言对安全性的一个考虑而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式