以下是对int(*p)[]和int(**p)[]的使用进行了详细的分析介绍,需要的朋友可以参考下
1. int(*p)[10]:7mQHTML5中文学习网 - HTML5先行者学习网
根据运算符的结合律,()的优先级最高,所以p是一个指针,指向的一个维度为10的一维数组。7mQHTML5中文学习网 - HTML5先行者学习网
p一个指向数组的某一行7mQHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
7mQHTML5中文学习网 - HTML5先行者学习网
int a[1][4]={1,2,3,4};7mQHTML5中文学习网 - HTML5先行者学习网
int (*p)[4] = a;//p point to the row of array a 7mQHTML5中文学习网 - HTML5先行者学习网
for(int i=0;i<4;i++)7mQHTML5中文学习网 - HTML5先行者学习网
{7mQHTML5中文学习网 - HTML5先行者学习网
cout<<*((*p)+i)<<" ";7mQHTML5中文学习网 - HTML5先行者学习网
}
7mQHTML5中文学习网 - HTML5先行者学习网
2. int(**q)[10]7mQHTML5中文学习网 - HTML5先行者学习网
这个的意义:q是一个指针,指向的元素就是1.中的p.7mQHTML5中文学习网 - HTML5先行者学习网
下面给一个例子:7mQHTML5中文学习网 - HTML5先行者学习网
7mQHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
7mQHTML5中文学习网 - HTML5先行者学习网
#include<iostream>7mQHTML5中文学习网 - HTML5先行者学习网
#include<stdio.h>7mQHTML5中文学习网 - HTML5先行者学习网
using namespace std;7mQHTML5中文学习网 - HTML5先行者学习网
int main()7mQHTML5中文学习网 - HTML5先行者学习网
{7mQHTML5中文学习网 - HTML5先行者学习网
int a[2][2]={1,2,3,4};7mQHTML5中文学习网 - HTML5先行者学习网
int (*p)[2] = a;//p point to the row of array a 7mQHTML5中文学习网 - HTML5先行者学习网
for(int i = 0;i<2;i++)//output matrix using p 7mQHTML5中文学习网 - HTML5先行者学习网
{7mQHTML5中文学习网 - HTML5先行者学习网
for(int j = 0;j<2;j++)7mQHTML5中文学习网 - HTML5先行者学习网
{7mQHTML5中文学习网 - HTML5先行者学习网
cout<<*(*(p+i)+j)<<" "; 7mQHTML5中文学习网 - HTML5先行者学习网
}7mQHTML5中文学习网 - HTML5先行者学习网
cout<<endl;7mQHTML5中文学习网 - HTML5先行者学习网
}7mQHTML5中文学习网 - HTML5先行者学习网
int (**q)[2] = &p;//q point to p7mQHTML5中文学习网 - HTML5先行者学习网
for(int i = 0;i<2;i++)//output matrix using q 7mQHTML5中文学习网 - HTML5先行者学习网
{7mQHTML5中文学习网 - HTML5先行者学习网
for(int j = 0;j<2;j++)7mQHTML5中文学习网 - HTML5先行者学习网
{7mQHTML5中文学习网 - HTML5先行者学习网
cout<<*(*(*q+i)+j)<<" "; 7mQHTML5中文学习网 - HTML5先行者学习网
}7mQHTML5中文学习网 - HTML5先行者学习网
cout<<endl;7mQHTML5中文学习网 - HTML5先行者学习网
}7mQHTML5中文学习网 - HTML5先行者学习网
7mQHTML5中文学习网 - HTML5先行者学习网
getchar();7mQHTML5中文学习网 - HTML5先行者学习网
return 0;7mQHTML5中文学习网 - HTML5先行者学习网
}7mQHTML5中文学习网 - HTML5先行者学习网
7mQHTML5中文学习网 - HTML5先行者学习网
7mQHTML5中文学习网 - HTML5先行者学习网