gpt4 book ai didi

c++ - 左移对指针变量有什么作用?

转载 作者:行者123 更新时间:2023-11-30 02:14:55 28 4
gpt4 key购买 nike

假设我有一个 unsigned character pointer 'foo' 并且我使用 ma​​lloc 为它动态分配了内存。这些操作对指针变量做了什么?假设 bar 被调用时 i 值分别为 2,4,6,8

void bar(int i, unsigned char* foo) {
*foo++ = i>>24;
*foo++ = i>>16;
*foo++ = i>>8;
*foo++ = i;
}

最佳答案

移位应用于 i,它不是指针,它是 int 类型的变量。

然后,将结果赋给指针foo指向的地方。

最后,指针加一。

例如,这个:

*foo++ = i>>24;

i 向右移动 24 位,然后获取该结果并将其分配给 foo 指向的位置。之后,指针递增 1。

关于c++ - 左移对指针变量有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56982682/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com