指针

#include <iostream>
using namespace std;


int main ()
{
//vector这个名字的值是一个指向它第1个元素的指针,所以vector是一个指向一个包含10个整形元素的数组的指针
int vector[10], *vp = vector;


int matrix[3][4] = {{90,11,22,33},
{44,55,66,77},
{88,99,1010,1111}};
//*mp = matrix;是错的,matrix并不是一个指向整形的指针,而是一个指向整形数组的指针
int (*p)[4] = matrix;//p是一个指向拥有4个整形元素的数组的指针
//当把p与一整数相加时,p是一行一行地在matrix中移动


//如果想指针逐个访问整形元素而不是逐行在数组中移动,可以一下设置,增加这个指针的值使它指向下一个整形元素
int *Pi = &matrix[0][0];
int *pi = matrix[0];//matrix[i]和*(matrix + i)是等价的,即pi++所以:
cout<< *pi <<endl;//中的*pi和matrix[0][j]即*(*(p + 0) + j)


pi = pi + 5;
cout<<"pi = pi + 5 :";
cout<< *pi <<endl;
cout<< *(*(p + 1) + 1) <<endl;


system("pause");
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值