————–指针—————-
int a=10;
int *p=&a;
————-指针的指针———–
int b=20;
int *p=&b;
int **p2p=&p;
————-简单数组—————–
int c[10];//整数数组,含有10个整数元素
也就是说每一个元素都是整数
————–指针数组 是数组——————–
int *p[10];//指针数组,含有10个指针元素
也就是说每一个元素都是指针
————–数组指针是指针——————–
int (*p)[10];//数组指针,这个指针可以用来指向
含有10个元素的整数数组
参考文章:http://www.jb51.net/article/54220.htm
#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
int a[3] = { 1, 2, 3 };
cout << a << endl;//数组第一个元素的地址
cout << &a[0] << endl;//数组第一个元素的地址
cout << a + 1 << endl;//数组第二个元素的地址
cout << &a << endl;//数组的地址
cout << &a + 1 << endl;
int x = 5;
int y = 3;
int* pr[] = { &x, &y };//指针数组,是一个数组,数组中的元素都是指针
cout << *pr[0] << endl;//pr[0]是指向元素x的指针
cout << *pr[1] << endl;
int(*prt)[3] = &a;//数组指针,是一个指针,指向数组的指针
cout << (*prt)[0] << endl;
cout << (*prt)[1] << endl;
int b[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
cout << b << endl;
cout << &b[0] << endl;
cout << b[0] << endl;
cout << b + 1 << endl;
cout << &b << endl;
cout << &b + 1 << endl;
int(*prt1)[3] = b;//b是第一个元素的地址,第一个元素是一个数组
system("pause");
return 0;
}