zoukankan      html  css  js  c++  java
  • c语言中数组,指针数组,数组指针,二维数组指针

    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 ", pa); printf("%p ", 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;// 指针的指针
  • 相关阅读:
    idea中如何返回上一个鼠标的焦点
    git-修改本地和远端分支名字
    git修改已经commit的注释记录
    《完全用Linux工作》
    C++ 网络爬虫实现
    计算两个YUV420P像素数据的PSNR---高等算法
    C++类对象大小的计算
    mp4文件格式解析
    BMP图片格式模型(2)
    BMP图片格式模型
  • 原文地址:https://www.cnblogs.com/myvic/p/8996555.html
Copyright © 2011-2022 走看看