数组、指针

1.  一维数组  int a[3]={1,2,3};   指向整型的指针  int *p=a;

     二维数组  int a[3][2]={{1,2},{3,4},{5,6}};   指向整型数组的指针  int (*p)[2]=a;  (p指向a的第1行)

                                                                       指向整型的指针  int *p=&a[0][0];  或 int *p=a[0];  或 int *p=(int*)a;

2.  一维数组  int a[3]={1,2,3};   fun1(a)  函数原型可写为:  void fun1(int *a) 或 void fun(int a[])

     二维数组  int a[3][2]={{1,2},{3,4},{5,6}};  fun2(a)  函数原型可写为:void  fun2(int (*a)[2])  或 void fun2(int a[][2])

3.  void fun3(int **p)  这是把p声明为一个指向整型指针的指针,与指向整型数组的指针不是一回事。

4.  指针数组

     int *a[10];  下标引用的优先级高于间接访问。区别于指向整型数组的指针。

5.  数组a  sizeof(a)返回整个数组占用的字节,&a返回一个指向数组的指针。

     例如:  int a[3]={1,2,3}; int (*p)[3]=&a;

posted @ 2011-11-28 10:54  shiney  阅读(242)  评论(3编辑  收藏  举报