码迷,mamicode.com
首页 > 编程语言 > 详细

二维数组

时间:2015-04-09 21:49:01      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

 二维数组定义:

      一般形式:类型说明符 数组名[常量表达式1][常量表达式2]

      int a[2][3];

技术分享 

 

   用C++ STL的vector定义:

    vector< vector<int> > Array( 2, vector<int>(0) ); //定义行数为2

    for(int i=0; i<2; i++)

      Array[i].resize(3);  //定义列数为3

    

    二维数组的初始化:

      分段赋值:int a[2][3]={{1, 2, 3},{4, 5, 6}}  //行中的常量表达式可以省略;列中的不可或缺

    连续赋值:int a[2][3]={1, 2, 3, 4}  //部分元素赋值,其后自动赋值为0

    二维数组的参数传递:

    void fun(int a[][3]){...}  //注意数组a传递参数后则退化为指针

    二维数组的动态分配与释放:

    int **a=new int*[2];

      for(int i=0; i<2; i++){

      a[i]=new int[3];

    }

    ////////////////////////////

    for(int i=0; i<2; i++){

      delete[] a[i];

    }

    delete[] a;

  二维数组的指针:

    int **p=a;  //指针p相当于a

    *p <=> a[0]  ;  *(p+i) <=> a[i]  ;  *(*(p+i)+j) <=> a[i][j]

    二维数组的行列计算:

    总大小:T=sizeof(a)/sizeof(a[0][0])

    列数:N=sizeof(a[0])/sizeof(a[0][0]);    Array[0].size()  //vector类型需要深入“内部”找到列的大小

    行数:M=T/N;    Array.size() //vector类型直接能找到行的大小

二维数组

标签:

原文地址:http://www.cnblogs.com/LarryGen/p/4411634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!