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

c语言问题,指针占用字节

7a70f79918138c1b 2018-12-14 浏览量:798

好了问下char在不同平台都是1字节,然而int在不同平台也会变化,指针char*在32位平台是占用4个字节16位占用2个字节,为啥会随着平台改变而改变


1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 指针是用来指向地址的,所以它的长度和MCU的寻址空间有关

    51是16位机,寻址空间是64K,所以指针也是16位。

    同理,32位机的指针是32位。

    • 发布于 2018-12-14
    • 举报
    • 评论 1
    • 1
    • 0
oh_耗子 回复了 Spirit:就是这个原因 回复

其他答案 数量:12
  • 32位的系统,变量都是32位的,只是不用的也不关心了
    • 发布于2018-12-14
    • 举报
    • 评论 0
    • 2
    • 0

  • 应为这是32位的单片机  
    • 发布于2018-12-14
    • 举报
    • 评论 0
    • 0
    • 0

  • int是根据平台来的,51单片机就是16位的,32位系统就是32位的
    • 发布于2018-12-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 在不同平台下,根据芯片本身数据总线位数来定的吧。32位的芯片或系统那这个指针就是32位的
    • 发布于2018-12-14
    • 举报
    • 评论 0
    • 0
    • 0

  • char * 这个是指针类型的,指针有多长,这个变量就占用几个字节

    指针就是寻址用的,16位单片机,2个字节,指针当然是 2字节的,

    • 发布于2018-12-18
    • 举报
    • 评论 0
    • 0
    • 0

  • char*是保存一个地址的,每种架构下面的地址长度都不一定的,32位机的长度就是32位,64位机的就是64位
    • 发布于2018-12-21
    • 举报
    • 评论 0
    • 0
    • 0

  • int在32位系统中占用4字节,在64位系统中占用8字节,不同的。

    • 发布于2018-12-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 指针跟你的机器平台有关系,不同的平台和机器占用的字节都是不同的
    • 发布于2019-01-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般在32位的平台,一个int就是4个字节,而64位系统是8个字节
    • 发布于2019-01-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

c语言问题,指针占用字节