Chinaunix首页 | 论坛 | 博客
  • 博客访问: 378353
  • 博文数量: 47
  • 博客积分: 967
  • 博客等级: 准尉
  • 技术积分: 1290
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-25 16:14
文章分类

全部博文(47)

文章存档

2019年(1)

2014年(1)

2013年(9)

2012年(36)

分类: LINUX

2013-03-19 18:10:46

  先说数组指针向一个数组的指针就是数组指针。定义数组指针的代码如下:
  int (*ap) [2];//该代码定义了一个指向包含有两个元素的数组的数组指针
 而如果一个数组的每一个元素都是指针,则这个数组是一个指针数组定义指针数组的代码如下:
 char *chararr[]=={"aa","li","baidu"}//该代码定义了一个指针数组并且对其初始化,chararr数组的每个元素都存放着一个字符指针。
 总结:数组指针是一个指针变量,它指向一个数组。而指针数组是一个只包含指针元素的数组,它的元素可以指向相同类型的不同对象。
下面这个是数组指针的一个例子:


  1.   #include <iostream>
  2.   using namespace std;
  3.   
  4.   int main()
  5.   {
  6.    int a[3][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
  7.    int *q=0;
  8.    int (*p)[5]; //数组指针
  9.    for(p=a;p<a+3;p++)//用p指向各行数组
  10.    {
  11.      for(q=*p;q<*p+5;q++)
  12.        cout << *q << "\t";
  13.    cout << endl;
  14.    }
  15.    return 0;
  16.   }
运行结果如下:


  1. lwp@linux:~/c++$ ./aa zhizhen
  2. 1    2    3    4    5    
  3. 6    7    8    9    10    
  4. 11    12    13    14    15

阅读(2147) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~