• 关于int **


    例子1:

     1 int foo(int *array)
     2 {
     3 
     4   array = (int *)malloc(sizeof(int)*5);
     5   return 0;
     6 }
     7 
     8 //外头调用
     9 int * uidArray = NULL;
    10 foo(uidArray);

    这时候我想要在函数里给数组指针赋值首个元素的地址,可是由于传的是参数,在函数里有地址了,可是在外头的变量uidArray还是等于NULL,等于没用。

    所以必须传数组指针的指针进去,以修改外头的数组指针

    改为:

    1 int foo(int **array)
    2 {
    3    *array = (int *)malloc(sizeof(int)*5);
    4    return 0;
    5 }
    6  
    7  //外头调用
    8 int ** uidArray = NULL;
    9 foo(uidArray);

    这里的int**是数组指针int *的指针

    例子2:

    1 int **arrays;
    2 //创建一个2*6的二维数组
    3 arrays = (int **)malloc(sizeof(int *)*2);
    4 arrays[0] = (int *)malloc(sizeof(int)*6);
    5 arrays[1] = (int *)malloc(sizeof(int)*6);

    这里的int **是二维数组的指针

  • 相关阅读:
    常用html设置:
    Java Enum
    ajax
    Utils使用
    jdk免安装对应配置
    jdk mvn下载--操作系统
    SpringMvc 文件上传后台处理
    SpringMvc 获取ApplicationContext
    Jenkins 持续集成
    自定义 directive pagination
  • 原文地址:https://www.cnblogs.com/vanishfan/p/3158204.html
Copyright © 2020-2023  润新知