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

C/C++ 指针数组、二维数组

时间:2015-09-09 19:18:55      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

一、 二维数组

1> 初始化

int a[3][3] = { {1,0,0}, {0,1,0}, {0,0,1} }; // 这里是 {} , 而不是()

2> 将二维数组当做一维数组处理

void print_array( int * p, int row, int line)

{

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

  {

    for(int j=0; j<line; ++j)

    {

      printf("%d \n", *( p + i * row + j ) ); // 相当于 *( *(p+i) + j ); // p[i][j]

    }

  }

}

// 调用

print_array( (int *)a, 3, 3 );

3> 二维数组当二维数组使用

void WordSort(char p[][10], int row)
{
  char temp[10];
  for(int n=0; n<row; ++n)
  {
    for(int m=n+1; m<row; ++m)
    {

      // 冒泡排序
      if ( strcmp(p[m], p[n] ) < 0 )
      {
        strcpy(temp, p[n]);
        strcpy(p[n], p[m]);
        strcpy(p[m], temp);
      }
    }
  }

  for(int n=0; n<row; ++n)
  {
    printf("%s \n", p[n]);

  }
}

// 调用

char p[5][10] = {"hello","world","111","135","134"};

WordSort(p, 5);

 

4> 行指针(二维数组作为形参的参数传递)

 

C/C++ 指针数组、二维数组

标签:

原文地址:http://www.cnblogs.com/sylar-liang/p/4795648.html

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