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

————–指针—————-
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;

}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值