美文网首页
一个经典的数组地址与指针的面试题

一个经典的数组地址与指针的面试题

作者: 富城 | 来源:发表于2020-12-10 20:21 被阅读0次
int numb[4] = {10, 20, 30, 40};
int *p = (int *)(&numb + 1);
NSLog(@"%d", *(p - 1));

答案是 40

int num[2][2][2] = {
        {
            {10, 20},
            {30, 40}
        },
        {
            {50, 60},
            {70, 80}
        },
    };
    
    NSLog(@"%p---%p", num, num[0]+1); //0x7ffeeb202ba0---0x7ffeeb202ba8
    NSLog(@"%p---%p", num, num[0][0]+1);  //0x7ffeeb25bba0---0x7ffeeb25bba4
    NSLog(@"%p---%p", num, &num[0][0]+1); //0x7ffeeb202ba0---0x7ffeeb202ba8
    
    int numb[4] = {10, 20, 30, 40};
    NSLog(@"%p---%p", numb, numb+1);  // 0x7ffeea462bb0---0x7ffeea462bb4
    NSLog(@"%p---%p", &numb, &numb+1);  // 0x7ffeea462bb0---0x7ffeea462bc0
// 单独的数组名表示 :数组第一个元素的地址,并且增加的单元也是一个元素的内存大小
// 数组名前加上&:表示以整个数组为单位的地址,增加的单元为整个数组的大小

相关文章

  • 一个经典的数组地址与指针的面试题

    答案是 40

  • 指针的其他用法

    指针与数组 数组的地址:数组名、&数组首元素 指针是专门用于保存地址 由于数组的首元素的地址就是数组的地址,所以定...

  • 指针数组 & 数组指针 & 函数指针

    一、指针数组 & 数组指针 普通数组: 即数组名a与(*p)等价,都代表数组的首地址,此为数组指针 指针数组: ...

  • 指针笔记

    指针数组和数组指针 数组指针是指向数组的指针,指针的值与数组首元素地址相同,但范围是整个数组,所以数组指针和数组名...

  • C语言的指针与数组(进阶篇之一)

    一、一维数组与指针 (1).数组指针在C语言中,数组的首地址称为数组指针。而C++规定,数组的首地址可用数组名a表...

  • 指针与数组的区别和联系

    原文地址:指针与数组的区别和联系作者:zhenhuaqin 一.指针与数组的联系: 指针与数组是C语言中很重要的两...

  • C语言特性(指针与数组)

    指针与数组 指向数组的指针变量 简单来讲就是数组变量保存了数组的首地址。 指针运算 目前,指针变量存在如下几种赋值...

  • 数组指针/指针数组/函数指针/函数指针数组

    原文地址: 浅谈 数组指针 指针数组 函数指针 函数指针数组... 以及它们之间区别。 首先,先说明一个关系:数组...

  • 指针

    1、什么是指针? 通俗来讲——指针就是变量,用来储存地址的变量。 2、指针数组 & 数组指针 指针数组:它是一个数...

  • C语言指针二

    指针和数组 数组名称保存的就是数组首元素的地址 既然数组名称保存的就是地址, 而指针也是用于保存地址的, 所以指针...

网友评论

      本文标题:一个经典的数组地址与指针的面试题

      本文链接:https://www.haomeiwen.com/subject/lpwrgktx.html