zoukankan      html  css  js  c++  java
  • Pointer and Array

     

    1.各种指针的定义:

    • int *pi ; //pi是指向int型变量的指针

    • float *pi; //pi是指向float型变量的指针

    • char *pc; //pc是指向char型的变量指针

    • char (*pa)[3]; //pa是指向一维数组的指针

    • int (*pf)();//指向函数pf的指针,函数的返回值类型为int型数值

    • int **pp;//指向指针的指针,即二级指针

     

    2.有关指针和数组

    • 一维数组

      例如:int a[5];下标方法表示为:a[i],其中,i=0,1,2,3,4;

      用指针的方法表示为:*a+i

    • 二位数组

     例如:int a[2][5];

     其中,有10int型变量.下表方法表示为:a[i][j],其中,i=0,1;j=0,1,2,3,4;

     

     用指针方法表示为:

    1.用指针表示它的行和列

    **a+i+j

    2.行数组用下标表示,列数组用指针

    *(a[i]+j)

    3.行数组用指针表示,列数组用下标表示

    (*a+i)[j]

    4,按二维数组各个元素在内存中的存放顺序,用指向数组首元素的一级指针表示

    *(&a[0][0]+5*i+j)

     

    ------------可以将一个二维数组看作一个一维数组,而它的元素又是一个一维数组----------

    例如:

    a[2][5]可以看做是有2个元素的一维数组,即称行数组,而每个元素又是具有5个元素的一维数组,即称为列数组。

    因此,a[2][5]可以看作是2个元素的一维数组,其中每个元素又是具有5个元素的一位数组。

    • 三维数组

    同理如二维数组。

    可以将每个元素看作为一维数组的二维数组,而二维数组可以看作是每个元素为一维数组的一维数组。 将三维数组理解为有行数组,列数组,组数组组成,它们都是一维数组。

    例如:

    int a[3][5][7];

    其中, i=0,1,2; j=0,1,2,3,4; k=0,1,2,3,4,5,6;

    各种指针及下标表示方法如下:

    1. 用指针表示它们的行数组,列数组,组数组表示

      ***(a+i)+j+k

    2. 用指针表示行数组。列数组,组数组用下标表示

      *(*(a[i])+j)+k), 其它同理。

     

       

  • 相关阅读:
    javascript执行上下文
    javascript深浅拷贝
    javascript模块化
    javascript类型转换
    闭包
    通过插槽分发内容
    组件上使用v-model
    Vue $emit $event 传值(子to父)
    Vue Prop属性(父to子)
    Vue组件全局/局部注册
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/1841804.html
Copyright © 2011-2022 走看看