将uint **转换为uint

时间:2013-04-24 17:23:34

标签: c double-pointer

我有以下代码

unsigned int headerbytes = 0U;
    headerbytes = (unsigned int*)strtoull(packet_space->header, NULL, 0);

    packetHeader header = deconstructPacketHeader((&headerbytes));

packet_space是一个char [],基本上它是一个4byte char数组,我想转换为unsigned int。 deconstructPacketHeader()采用unsigned int,但是stroutll(使用我的演员)返回一个双指针。基本上,我如何得到uint的实际值(取消引用两次)所以我可以传递它deconstructPacketHeader()?

谢谢!

1 个答案:

答案 0 :(得分:1)

可能你觉得太复杂了。

尝试

unsigned long long headerbytes = 0ULL;
headerbytes = strtoull(packet_space->header, NULL, 0);
packetHeader header = deconstructPacketHeader(headerbytes);