zoukankan      html  css  js  c++  java
  • 上机实践

    本例子来自于《剑指Offer》(P37)

    解答如下:

    size1:20

      data1是一个数组,sizeof(data1)是求数组大小。

      这个数组包含5个整数,每个整数4个字节,共20字节。

    size2:4

      data2声明为指针,尽管它指向了数组data1的第一个数字,但它的本质仍然是一个指针。

      在32位系统上,对任意指针求sizeof,得到的结果都是4。

    size3 : 4

      在C/C++中,当数组作为函数的参数进行传递时,数组会自动退化为同类型的指针。

      因此尽管函数GetSize的参数data被声明为数组,但它会退化为指针,size3的结果仍然是4。

    附:

    1. sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。

    2. 指针记录了另一个对象的地址,是来存放地址的,它等于计算机内部地址总线的宽度。所以在32位计算机中,一个指针变量的返回值必定是4(注意结果是以字节为单位),但是,在64位系统中指针变量的sizeof结果为8。

  • 相关阅读:
    1023. 组个最小数
    1021. 个位数统计
    *1020. 月饼
    *1019. 数字黑洞
    1016. 部分A+B
    *1014. 福尔摩斯的约会
    *1013. 数素数
    *1012. 数字分类
    1011. A+B和C
    *1008. 数组元素循环右移问题
  • 原文地址:https://www.cnblogs.com/sunfloweing/p/4845492.html
Copyright © 2011-2022 走看看