zoukankan      html  css  js  c++  java
  • 关于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 **是二维数组的指针

  • 相关阅读:
    StopAllSounds
    GotoAndPlay
    区间(interval)
    因数(factor)
    [HAOI2009]逆序对数列
    生物分子gene
    数轴line
    [SCOI2008]配对
    精力(power)
    bzoj4987: Tree(树形dp)
  • 原文地址:https://www.cnblogs.com/vanishfan/p/3158204.html
Copyright © 2011-2022 走看看