指针的问题~~~
发布网友
发布时间:2022-05-05 03:01
我来回答
共4个回答
热心网友
时间:2023-10-08 10:22
wPrm这是一个类,*)&wPrm 取这个类的地址,(TUint8*)&wPrm把这个类强制转换成指向TUint8的指针,TUint8*)&wPrm->iErrCode 调用TUint8类的iErrCode 属性(或方法)
热心网友
时间:2023-10-08 10:22
C++的优先级
优先级 操作符 结合性
1 :: 左
2 . -> [] () 左
3 ++ -- ~ ! - + & * () sizeof new delete castname_cast<type> 单目操作符 右
4 .* ->* 左
5 * / % 左
6 + - 左
7 << >> 左
8 < <= > >= 左
9 == != 左
10 & 左
11 ^ 左
12 | 左
13 && 左
14 || 左
15 ?: 右
16 = *= /= %= += -= <<= >>= &= |= ^= 右
17 throw 左
18 , 左
wPrm应该是个指针 而wPrm->iErrCode 的意思就是(*wPrm).iErrCode
就是取wPrm这个类中iErrCode这个变量
(TUint8*)&(那个变量名)是把这个变量的地址取出来强转成TUint8类型的指针
也就是前面还应该有这样的话
TUint8 *p = (TUint8*)&wPrm->iErrCode;
热心网友
时间:2023-10-08 10:22
(TUint8*)&wPrm->iErrCode
由于->比(类型)优先,所以先执行&wPrm->iErrCode,然后把放回值转换为 TUint8* 类型
----------------
不对!是转换成指针类型 TUint8*
热心网友
时间:2023-10-08 10:23
回答的都很好啊。。