首页 > 编程语言 > 详细

内存buffer转换为多维数组访问

时间:2020-08-18 14:47:20      阅读:72      评论:0      收藏:0      [点我收藏+]

一段内存按照多维数组或者矩阵的形式去访问,定义多维数组指针,代码看起来清晰简洁。

int32_t reshape(uint8_t *buf, uint32_t m, uint32_t n)
{
    typedef uint8_t (*dim2)[m][n];
    dim2 p = buf;
    printf("buf=%p, %p, m=%d, n=%d\n", buf, p, m, n);
    printf("buf: %x, %x, %x, %x\n",&buf[0], &buf[1], &buf[2], &buf[3]);
    printf("(*p)[x][y]: %x, %x, %x, %x\n", (*p)[0][0], (*p)[1][0], (*p)[2][0], (*p)[3][0]);
  return 0;
}
int main()
{
    uint8_t buf[] = {1,2,3,4,5,6,7,8};
    reshape(buf, 4, 2);
    return 0;
}

技术分享图片

 

内存buffer转换为多维数组访问

原文:https://www.cnblogs.com/brightmind/p/13523074.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!