//用指针表示数组值的例子。
#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;
}
数组与指针
最新推荐文章于 2023-02-05 13:06:26 发布