码迷,mamicode.com
首页 > 编程语言 > 详细

c语言中数组,指针数组,数组指针,二维数组指针

时间:2018-05-06 00:13:07      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:下标   c语言   div   二维数组   字节   int   偏移量   定义   print   

1.数组和指针

int array[5] = {1,2,3,4,5};// 定义数组
   // 1. 指针和数组的关系
  int * pa = array;
   pa = array; // p[0] == *(p+0) == array[0] == *(array+0) printf("%p\n", pa); printf("%p\n", array); /* 访问数组两种方式 1. 下标法访问 数组名[下标] 指针[下标] 下标:偏移量 2. 指针法访问 *(p+1) */

2.指针数组

    int array[5] = {1,2,3,4,5};// 定义数组
    int (*p)[5] = &array;// 定义数组指针
    int *arr[5];//指针数组,数组中所以得元素保留的是int指针的位置

    *p = p[0];
    (*p)[1]  == array[1];
    p[0][1]  == (*p)[1] == array[1];

3.二维数组指针

    // 3 二维数组的指针
    int array2[2][3] = {{1,2,3},{4,5,6}};
    int (*p2)[2][3]  = NULL;
    p2 = &array2;// 把数组赋值给数组指针
    *p == array2;
    (*p)[0][0] == p[0][0][0];
 //    /**
    // p + 1 跨过6*4 个字节
    // p[0] + 1 跨过3*4个字节
    // p[0][0] + 1 跨过4个字节

    // p[0][0][0] + 1  二维数组第一个元素值+1

 //    */

4.指针数组

数组中的元素都是指针(地址)

    int *arr[5];//指针数组,数组中所以得元素保留的是int指针的位置
        int a = 1;
        arr[1] = &a;

 

5.指针的指针

    //4.二维指针
    int a ;
    int *p = &a;
    int **pp = &p;// 指针的指针

 

c语言中数组,指针数组,数组指针,二维数组指针

标签:下标   c语言   div   二维数组   字节   int   偏移量   定义   print   

原文地址:https://www.cnblogs.com/myvic/p/8996555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!