• 数组指针、二级指针传参


    void test(int **p){}//二级指针接受
    int main()
    {
        int a = 0;
        int* p = &a;
        int** pp = &p;
        int* arr[10] = { 0 };
        test(pp);//二级指针传参
        test(&p);//一级指针的地址
        test(arr);//指针数组,存放指针地址的数组
        return 0;
    }
    //void test(int arr[][5])
    //{}//arr[][] arr[3][]  错误写法  err
    //void test(int (*arr)[5])
    //{}//int *arr  int **arr int *arr[5] 错误写法,类型不兼容
    //int main()
    //{
    //
    //    int arr[3][5] = { 0 };
    //    test(arr);//二维数组传参,传的是第一行数组的地址
    //    return 0;
    //}
    //int main()
    //{
    //    int arr[5];//是一个五个元素的整型数组 
    //    int* parr[10];//是一个10个元素的int*指针数组
    //    int(*parr2)[10];//是一个指向10个int整型元素的数组指针
    //    int(*parr3[10])[5];//是一个十个数组指针,且每个指针指向五个int整型元素的数组
    //    return 0;
    //}
    //int main()
    //{
    //    int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
    //    int i = 0;
    //    int* p = arr;
    //    for (i = 0; i < 10; i++)
    //    {
    //        printf("%d ", arr[i]);
    //        printf("%d ", *(p + i));
    //        printf("%d ", *(arr+i));
    //        printf("%d ", p[i]);
    //
    //        //arr[1] == *(arr+i) == *(p+i) == p[i]
    //    }
    //    return 0;
    //}
    //void print1(int arr[][5], int x, int y)
    //{
    //    int i, j = 0;
    //    for (i = 0; i < x; i++)
    //    {
    //        for (j = 0; j < y; j++)
    //        {
    //            printf("%d ", arr[i][j]);
    //        }
    //        printf("\n");
    //    }
    //}
    //void print2(int(*p)[5], int x, int y)
    //{
    //    int i = 0;
    //    for (i = 0; i < x; i++)//行
    //    {
    //        int j = 0;//列
    //        for (j = 0; j < y; j++)
    //        {
    //            //printf("%d ", *(*(p + i) + j));
    //                //*(p+i) 表示第几行,
    //                //(*(p+i)+j)表示第i行第j列的元素
    //                //*解引用
    //            //printf("%d ", *(p + i)[j]);
    //            printf("%d ", p[i][j]);
    //
    //        }
    //        printf("\n");
    //    }

  • 相关阅读:
    spring import用法
    el-dialog设置高度、使用resetFields清除表单项无效问题
    spring boot+redis 的快速入门
    Js 获取表单高亮选中的内容 和 设置文本选中内容
    WebKit是什么?
    Spring Cloud 架构
    机器学习 sklearn数据集
    Mac 通过 brew安装的 ffmpeg 切换版本
    【React】史上最简单的 减少重复渲染 思路,原来这么简单?
    多线程基础篇
  • 原文地址:https://blog.csdn.net/zrk8008/article/details/130900169