c++请高手解释一下这条语句,产生指针的宏,#define MakePtr(cast,ptr,Ad
答案:1 悬赏:40 手机版
解决时间 2021-03-17 03:33
- 提问者网友:欺烟
- 2021-03-16 17:34
c++请高手解释一下这条语句,产生指针的宏,#define MakePtr(cast,ptr,Ad
最佳答案
- 五星知识达人网友:西岸风
- 2021-03-16 18:27
就是说,把原先数值为ptr的指针,在数值上加AddValue,然后强转为cast类型。
例如:
#include
#include
#define MakePtr(cast,ptr,AddValue)(cast)((DWORd)(ptr)+(DWORd)(AddValue))
int main(void)
{
int a[] = {1, 2, 3, 4};
int* ptr = MakePtr(int*, a, 4);
printf("%d
", *ptr);
return 0;
}注意,是数值加4,不是在原先的基础上往后移4个元素
追问你有没有像这样的宏的例子吗?追答没用过这样的宏。追问好吧..谢谢
例如:
#include
#include
#define MakePtr(cast,ptr,AddValue)(cast)((DWORd)(ptr)+(DWORd)(AddValue))
int main(void)
{
int a[] = {1, 2, 3, 4};
int* ptr = MakePtr(int*, a, 4);
printf("%d
", *ptr);
return 0;
}注意,是数值加4,不是在原先的基础上往后移4个元素
追问你有没有像这样的宏的例子吗?追答没用过这样的宏。追问好吧..谢谢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯