zoukankan      html  css  js  c++  java
  • 指针数组和数组指针——兄弟你的括号呢?

    参考:http://www.cnblogs.com/Romi/archive/2012/01/10/2317898.html

    指针数组:array of pointers,指有这么一组数组,每个元素都是指针。

    int *a[4],本质是一个数组。

    由于[]的优先级高于*,所以当表示某个元素的时候,*a[i]和*(a[i])有相同的效果。

    数组指针:a pointer to an array,表示有一个指针,它指向一个数组,即第一个元素的地址。

    int (*a)[4],本质是一个指针。

    数组指针也叫行指针,可以指向二维数组:

    int a[3][4];

    int (*p)[4];

    p=a;

    举个列子:

     1 #include <iostream>
     2 using namespace std;
     3 int main(){
     4     int arr[4]={0,1,2,3};//一个普通数组 
     5     int *p_arr[4];        //定义一个 指针数组 
     6     int (*arr_p)[4];//定义一个 数组指针 
     7     
     8     arr_p=&arr;//让数组指针指向数组(首元素地址)
     9     
    10     for(int i=0;i<4;i++){    //将指针数组中的指针逐一指向普通数组的元素 
    11         p_arr[i]=&arr[i];
    12     } 
    13     
    14     cout<<*p_arr[1]<<endl;
    15     cout<<(*arr_p)[2]<<endl;
    16     return 0;
    17 }

    输出结果为:

    1

    2

  • 相关阅读:
    Javascript位运算符
    自定义控件基础2
    Javascript原型链实现继承
    Javascript如何实现水印效果
    CSS详解position(1)
    Javascript对象冒充实现继承
    Javascript节点类型
    实用技巧chm无法搜索
    Javascript定义类或对象
    深入理解JavaScript系列
  • 原文地址:https://www.cnblogs.com/luoyang0515/p/10239259.html
Copyright © 2011-2022 走看看