1. 关于指针的一道笔试题

    同学找实习,遇到这样一道笔试题:

    int *a[2][3];
    sizeof(a) = ?
    sizeof(*a) = ?
    sizeof(**a) = ?
    sizeof(***a) = ?
    

    这题还是有点小意思的。遇到这种题,脑子一定要清楚,注意分析。

    对于int *a[2][3]应该这么理解:

    a是个数组,有两个元素;元素也是数组,其有3个元素,每个元素是指向int类型的指针。

    指针的长度固定为4个字节,C语言的int类型也是4个字节。

    这样一分析,这题就简单了。

    sizeof(a)意思是求a数组的长度,数组的长度=数组元素的个数*元素的长度,所以sizeof(a) = 2 * 3 * 4 = 24个字节
    sizeof(*a)中的*a是指a的第一个元素,所以sizeof(*a ...
    Tagged as : 笔试 C/C++

Page 1 / 1