zoukankan      html  css  js  c++  java
  • C++中二位数组作为函数参数

    变量在作用域里面被声明的是什么类型,就当作什么类型来用。

    (1)参数是二维数组,但是要指定第二维的维数。

    int array[10][10];

    函数声明:void fuc(int a[][10]);

    函数调用:fuc(array);

    ——在函数fuc中,a是二维数组。使用a[i][j]形式来访问数组中元素。

    (2)参数使用一维指针数组。

    int *array[10];

    for(i = 0; i < 10; i++)

        array[i] = new int[10];

    函数声明:void fuc(int *a[10]);

    函数调用:fuc(array);

    ——在函数fuc中,a是一维指针数组。使用*(a[i] + j)形式来访问数组中元素。

    (3)参数使用指针的指针。

    int **array;

    array = new int *[10];

    for(i = 0; i <10; i++)

        array[i] = new int[10];

    函数声明:void fuc(int **a);

    函数调用:fuc(array);

    ——在函数fuc中, a是指针的指针。使用*(int *)(a + i*d2 + j)形式来访问数组中元素。其中:

    a[0]<=>array[0][0],

    a[1]<=>array[0][1],

    a[10]<=>array[1][0]

    注:d2为二维数组的二维维数,即列数。并且a + i*d2 + j为地址,所以要把这个类型为指针的指针的地址强制转换为指针来使用。

  • 相关阅读:
    freemarker 遍历 hashmap 到select option
    三分钟跑起jsblocks
    hibernate_@GeneratedValue
    跑github上的Symfony项目遇到的问题2
    Activiti使用过程_1
    Symfony官方视频教程
    跑github上的Symfony项目遇到的问题
    剧本杀
    随遇而安
    开发者职场心得
  • 原文地址:https://www.cnblogs.com/growup/p/1971529.html
Copyright © 2011-2022 走看看