A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hugin 中级黑马   /  2016-9-25 18:05  /  1005 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么理解数组指针?

指向数组的指针

既然指针变量指向了数组   那可以认为    这个指针变量 ==  数组名

结论: 引用一个数组元素,可用下面两种方法:
(1)下标法,如a形式
(2)指针法,如*(a+i)或*(p+i)
(3)a是常量(a++错误),p是变量(p++正确)


数组指针   指向数组的指针    = 数组名

int arr[3] = {1,2,3};

for(int i = 0;i<3;j++){
   
    *(arr+i)  ==  arr
    }
   
    //定义一个数组指针
    int *p = arr;
   
    for(int i = 0;i<3;j++){
        
        *(p+i)  //指针法
        
        *p++
        
        p;
        
        &arr//下标法
        
    }
   
   
    //-----------------------二维数组指针
    二维数组指针    指针   指向的是二维数组的首地址
   
    int arr[2][3] = {1,2,3,4,5,6};
   
    怎么理解二维数组指针
   
    指向二维数组的指针变量
   
   
    数据类型 (*指针变量名)[二维数组列数];
   
   
    int a[2][3] = {1,2,3,4,5,6};
   
    int (*pa)[3] = a;
   
   
    *(*(pa+i)+j) == *(*(a+i)+j) == *(a+j) == pa[j]



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马