数组与指针

来源:互联网 发布:如何数据资产管理 编辑:程序博客网 时间:2024/04/27 21:36

//用指针表示数组值的例子。
#include<iostream>
using namespace std;
static fun()
{
     static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
     int i,j,m,n,max;
     max=**a;m=0;n=0;
/*首先说明以下数组指针表示的含义,“*”号有两个作用,一是说明是指针(即说明是地址),
这里与“&”号 表示取地址值是有区别的,一个是表示地址,一个是取地址的值。它的第二
作用是取指针里的值即取出地址对应的值。还有就是数组的地址和数组的值加上有了指针所以
有了几种表示方法。max=**a语句很好的说明上面的运用,从右向左结合,*a表示数组头指针值,
即数组的第一个元素的地址,*(*a)把数组第一个元素的值取出。a数组名表示数组首地址;
a[0]、*(a+0)、*a都表示0行0列元素地址,a+1表示第一行首地址,a[1]、*(a+1)表示第1
行0列元素地址; a[1]+2、*(a+1)+2、&a[1][2]表示第1行2列元素地址;*(a[1]+2)、
*(*(a+1)+2)、a[1][2] 表示第1行2列元素值。 */         
     for(i=0;i<3;i++)
     {
         for(j=0;j<4;j++)
         {
           cout<<*(*(a+i)+j)<<'/t';
           if(max<*(*(a+i)+j))
           {
             max=*(*(a+i)+j);
             m=i;n=j;
           }
         }
         cout<<'/n';
     }
     cout<<"max is:"<<"a["<<i<<"]["<<j<<"]="<<max;
     system("pause");
     return 0;
}
 

原创粉丝点击