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

  • 相关阅读:
    Linux防火墙开放某端口号
    MySQL的权限管理
    Linux安装Node.js
    Eclipse上传新项目到GitLab
    Linux安装Nexus
    Linux安装中文字体_宋体
    Linux用户管理
    Linux安装MySQL_5.6
    reduce基本用法,js实现分组
    js 数字格式化
  • 原文地址:https://www.cnblogs.com/luoyang0515/p/10239259.html
Copyright © 2011-2022 走看看