永发信息网

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个元素

追问你有没有像这样的宏的例子吗?追答没用过这样的宏。追问好吧..谢谢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯