none
怎么把一个函数计算得到的指针传递给另一个函数作为变量计算? RRS feed

  • 问题

  • int main()

    {

    disp2FilterIdx(ibaseDisp, BlurLevelint, 0, 2585,  ifilterIdxTable);//其中ifilterIdxTable为Int*指针

    for (int i = 0; i < 2445; i++)
    {
    std::cout << ifilterIdxTable[i];//此时,将ifilterIdxTable[i]输出,其值全为0

    }

    int *filterIdxMap = (int*)malloc(dispImgStride*dispImgH*sizeof(int) );
    //if (!filterIdxMap) { return -1; }
    //memset(filterIdxMap, 0, dispImgStride*dispImgH * sizeof(int));

    int *idofIdx=(int*)malloc(dispImgStride*dispImgH );
    //将disp2FilterIdx函数所计算得到的ifilterIdxTable作为变量进行计算。
    statifiedByDispMap(pucDispMapData, ifilterIdxTable, dispImgW, dispImgStride,
    dispImgH, filterIdxMap ,idofIdx);

    }

    谢谢

    2017年9月11日 2:51

答案

  • Hi MV_C584,

    感谢在MSDN论坛发帖。

    >>怎么把一个函数计算得到的指针传递给另一个函数作为变量计算?

    指针和数组作为参数传入函数时,传入的是地址,即指向变量的地址和数组的首地址,可以在函数中改变指针或数组的值,但本质上它们还是值的传递(区别在于变量的值传递的是:变量值传递不会改变实参原来的值。),我们无法对指针和数组的地址进行操作(如:地址赋值,分配内存等),要进行地址操作需要使用指针引用或指针的指针。

    你可以参考下面的实例。

    http://blog.csdn.net/hey_pj/article/details/51783139

    希望对你有所帮助。

    Best Regards,

    Sera Yu 


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 Baron Bi 2017年9月12日 1:29
    • 已标记为答案 MV_C584 2017年9月15日 5:36
    2017年9月11日 5:44

全部回复

  • Hi MV_C584,

    感谢在MSDN论坛发帖。

    >>怎么把一个函数计算得到的指针传递给另一个函数作为变量计算?

    指针和数组作为参数传入函数时,传入的是地址,即指向变量的地址和数组的首地址,可以在函数中改变指针或数组的值,但本质上它们还是值的传递(区别在于变量的值传递的是:变量值传递不会改变实参原来的值。),我们无法对指针和数组的地址进行操作(如:地址赋值,分配内存等),要进行地址操作需要使用指针引用或指针的指针。

    你可以参考下面的实例。

    http://blog.csdn.net/hey_pj/article/details/51783139

    希望对你有所帮助。

    Best Regards,

    Sera Yu 


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 Baron Bi 2017年9月12日 1:29
    • 已标记为答案 MV_C584 2017年9月15日 5:36
    2017年9月11日 5:44
  • 最简单,您可以定义为全局变量~

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已建议为答案 Baron Bi 2017年9月12日 1:29
    • 取消建议作为答案 MV_C584 2017年9月15日 5:35
    2017年9月11日 13:00
    版主