zoukankan      html  css  js  c++  java
  • 二维数组

    总结:

    下标运算符又叫变址运算符,变址内容 *(p+n)==p[n]

    指针是变量,这个变量的值是个地址

    a[0]和a[0][0]都是数,而且它们的首地址相等,区别是它们的数据类型不同

    a[0]这个数的数据类型是一维数组,a[0][0]这个数的数据类型是整数,a指向的数据类型是一维数组,所以a+1,内存移动12个字节。

    -----------------------------------------------------------------------------

    以数组下标的方式来访问其中的某个元素:a[i][j]。编译器总是将二维数组看成是一个一维数组,而一维数组的每一个元素又都是一个数组。a[3]这个一维数组的三个元素分别为:
    a[0],a[1],a[2]。每个元素的大小为sizeof(a[0]),即sizof(char)*4。由此可以计算出a[0],a[1],a[2]三个元素的首地址分别为& a[0],& a[0]+ 1*sizof(char)*4,& a[0]+ 2*sizof(char)*4。亦即a[i]的首地址为& a[0]+ i*sizof(char)*4。这时候再考虑a[i]里面的内容。就本例而言,a[i]内有4个char 类型的元素,其每个元素的首地址分别为&a[i],&a[i]+1*sizof(char),&a[i]+2*sizof(char)&a[i]+3*sizof(char),即a[i][j]的首地址为&a[i]+j*sizof(char)。再把&a[i]的值用a 表示,得到a[i][j]元素的首地址为:a+ i*sizof(char)*4+ j*sizof(char)。同样,可以换算成以指针的形式表示:*(*(a+i)+j)。  //上述i中乘4是因为每个a[i]内有4个char 类型的元素

    ----------------------------------------------------------------------

    char **p;//二级指针变量p,假设此时的p已经指向p2,解引用后,获得完整的数据,即p2中保存的地址,p得以指向c,再次对p解引用,即得到‘A’

    引自:http://c.biancheng.net/cpp/html/477.html

  • 相关阅读:
    CentOS7 安装 mysql
    redis简介以及redis集群配置
    分布式布局简述
    字符串
    接口
    接口回调
    java关键字之static
    java关键字之final
    java关键字之abstract
    memcache的配置
  • 原文地址:https://www.cnblogs.com/ymd12103410/p/9551211.html
Copyright © 2011-2022 走看看