zoukankan      html  css  js  c++  java
  • 指针数组和数组指针的区别

      定义:

    指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。
    数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。

      使用方法:

    int* a[4]     指针数组    

                     表示:数组a中的元素都为int型指针   

                     元素表示:*a[i]   *(a[i])是一样的,因为[]优先级高于*

    int (*a)[4]   数组指针    

                     表示:指向数组a的指针

                     元素表示:(*a)[i] 

      举例:
    int a[3][4]这个无需多说,就是一个二维数组。
    int (*p)[4]就相当于int p[][4],它就是一个二维数组的指针,可以指向一个第二维度为4的二维数组。而a就是这样的数组,因而下面是合法的。
    p=a;
    int *p[3]是指针数组。说白了,就是定义了三个指针,分别为p[0],p[1],p[2]。可以将他们单独拿来使用。
    int a1,a2,a3;
    p[0]=&a1;
    p[1]=&a2;
    p[2]=&a3;
  • 相关阅读:
    psi
    firefox修改语言
    automapper
    堆喷图解
    脱壳系列_0_FSG壳_详细版
    脱壳系列_1_UPX壳_详细版
    算法01-最大子数组详解
    逆向MFC程序
    如何执行shell命令
    Unity之流光效果
  • 原文地址:https://www.cnblogs.com/dylancao/p/8473162.html
Copyright © 2011-2022 走看看