• 数组下标访问


    Q:int A[2][3]={1,2,3,4,5,6};,则A[1][0]和*(*(A+1)+1)的值分别是(A)

        A、4 5
        B、4 3
        C、3 5
        D、3 4

    A:假设给一个一维数组 int a[5];首先要明白 a 和 &a 的意思,他们地址值一样:

    可以把a理解江苏的省会南京市(即江苏省城市排名中的第一个,对应数组中的第一个元素),&a理解为江苏省;那么a+1的值就是江苏省里的其他市,比如苏州市;&a+1理解为安徽的邻省比如安徽省,所以&a+1可能就输出一个不确定的数了。

    在二维数组里也是一样,int A[2][3](这个数组其实可以看做有两个一维数组,每个一维数组里有3个元素,a[1][2]就是指向第二个一维数组的第三个元素),A+1的话代表A[0](这是二维数组里的第一个含有3个元素的一维数组)下一个的一维数组A[1],而&a+1就是一个不确定的数了;那么(1)A[1][0]就是4;*(*(A+1)+1);*(A+1)指向a[1]这个一维数组,也即指向4,然后+1(加4个字节)就是指向下一个元素5,然后*运算就是输出5。

  • 相关阅读:
    匹配session
    Jdk1.8+Eclipse+MySql+Tomcat开发Java应用的环境搭建
    MySQL忘记密码怎么办
    MyBatis框架Maven资源
    MyBatis核心配置文件模版
    MyBatis执行过程显示SQL语句的log4j配置
    MyBatis实体类映射文件模板
    Mybatis 学习-4
    Spring Boot + Swagger
    Spring Boot + Swagger
  • 原文地址:https://www.cnblogs.com/yedushusheng/p/5523994.html
Copyright © 2020-2023  润新知