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

C语言中内存地址是否占用存储空间呢?

oldworld 2017-01-11 浏览量:1624
比如内存地址0028FF1C 这些数字和字母是否需要占用存储空间呢?原因是?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • C语言中的任何数据都是占用空间的。、

    就算你定义一个没有使用的变量,在没有打开优化时,也是会占用一个空间的。

    如Keil的使用中,你编译完成后,会显示你的程序存储的使用情况。

    如下图所示:



    你可以添加上你的内存地址,再编译一下,看一下空间占用是不是变大了。

    • 发布于 2017-01-11
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 嗨,如果是用Pointer指向這個位址0x0028FF1C,

    那這個Pointer變數是會佔用空間的,

    在32位元CPU定址下,

    Pointer一定占用4個Byte(32位),

    因為本身Memory的地址總是從0x00000000開始遞增(32位),

    為了方便存取特定位址我們一定宣告Pointer或者用&運算取出變數的Pointer進行存取

    以上希望對您有用

    • 发布于2017-01-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 所有都会占用,只要定义就会分配出来一些空间去储存这个变量,在ram中也会留出一个地址来存储这个变量
    • 发布于2017-01-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 0028ff1c这个地址是固定的,分配一个字节的变量空间,里面存储这个地址,这个就是指针
    • 发布于2017-01-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 0028ff1c这个地址是固定的,分配一个字节的变量空间,里面存储这个地址,这个就是指针
    • 发布于2017-01-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 字母本身不占用空间。但是你把这些字母赋值给一个变量或者指针变量,占用空间的是这个变量。


    好比你家地址本身不占空间,但对应的你家房子占很大空间。。。。。

    • 发布于2017-01-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 转化成二进制

    0000 0000 0010 1000 1111 1111 0001 1100

    占32位,8个字节

    • 发布于2017-01-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 你要清楚你所谓的内存地址你是否调用,因为你调用了,那一定是占用空间的,必须给他一个地方寄存你才能读取,引用等,另外一些你没有引用到的可能也调用了,这和你的程序无关,是编译器自动的,除非你特殊优化,否则避免不了,另外比如你的内存地址指向你内存空间末尾,你的程序压根久 就用不了那么多空间,它就像一个门牌号一样挂在门上,是不用空间的
    • 发布于2017-01-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

C语言中内存地址是否占用存储空间呢?