c++——数组指针和指针数组

来源:互联网 发布:数据产品运营专员 编辑:程序博客网 时间:2024/06/08 16:24

————–指针—————-
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;}
0 0
原创粉丝点击