• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

unsigned char *data为什么占8字节

ptyb98534fgbv 2020-06-08 浏览量:1683

unsigned char *data为什么占8字节
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 你的系统是64位的吧,那么指针的地址也是64位的地址,只是这个地址上存储的是unsigned char,但是地址与系统上的是一样的,
    • 发布于 2020-06-10
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 在单片机中,unsigned char *data占用的不是8字节,是16字节。

    你定义的是指针变量,指针中存的是一个uchar类型空间的地址,地址是16位的

    • 发布于2020-06-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 你说的这个类型是指针变量,是16位的,不是8位的
    • 发布于2020-06-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是1个字节,你可以用printf(“”%d,sizeof(data))试试看,还又可能是data是关键字最好不要用,你可以把data换成其他名字试试看
    • 发布于2020-06-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 莫非你是再64位机器上,指针变量本身因机器不同所占的字节数也有所不同。在32位的机器上,一个指针变量占4个字节,在64位的机器上,一个指针变量占8个字节,可以用sizeof(data)看看结果
    • 发布于2020-06-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 这是一个指针,你是怎么确定占8字节的呢,如果是sizeof的话,可能是sizeof的一个bug,与系统 有关的
    • 发布于2020-06-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 因为这个变量本质上是个指针,指针在不同位数的CPU下占不同的空间,如果是64bit系统,地址就是64bit的,也就是8字节
    • 发布于2020-06-21
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

unsigned char *data为什么占8字节