c 指针按字节偏移

思路是先强转成 uint8_t* 类型的单字节数据的指针,然后再去加偏移,偏移完成后再将转回原来的数据。

#include<iostream>
#include<stdio.h>
using namespace std;


int main()
{
    uint8_t a[5]={0x00,0x11,0x22,0x33,0x44};
    uint32_t *p=(uint32_t*)a;
    printf("%x\n",*p);

    uint8_t *p2=(uint8_t*)a;
    p2+=1;
    printf("%x\n",*p2);

    uint32_t *p3=(uint32_t*)p2;
    printf("%x\n",*p3);
    return 0;
}

结果:

33221100
11
44332211
文章目录