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

  • 相关阅读:
    XE8下安装IntraWeb 14.0.40和D7下安装IntraWeb 11.0.63破解版的正确方法
    网易博客打不开怎么办
    SQL SERVER 导入EXCEL的存储过程
    TMemoryStream、String与OleVariant互转
    【转载】Delphi Idhttp的get和post方法
    sqlserver得到行号
    Delphi 中的 XMLDocument 类详解(5)
    10款免费且开源的项目管理工具
    iOS开发者必备:九大设计类工具
    15个步骤创立技术公司,并收获千万用户(完结)
  • 原文地址:https://www.cnblogs.com/ymd12103410/p/9551211.html
Copyright © 2011-2022 走看看