首页 > 代码库 > C/C++笔试篇-------二维指针数组、数组指针的用法
C/C++笔试篇-------二维指针数组、数组指针的用法
1.废话不多说,先上代码:
#include <iostream> using namespace std; int main(void) { int v[2][5] = {{1,2,3,4,5},{6,7,8,9,10}}; int (*a)[5] = v; //指针数组,指针指向数组 a[5],a[5]里面是int数值 该指针等于v的地址 cout<<(*a+1)<<endl; //*a是v[0][0]的地址。 0x22fe04 cout<<(*a+2)<<endl; //输出0x22fe08 cout<<*(*a+2)<<endl; //a[0][1]的值 3 cout<<*(a+1)<<endl; //输出 v[1][0]的地址。 0x22fe14 cout<<**(a+1)<<endl; //a[1][1] = 6 int b[3]={11,12,13}; cout<<"一维数组:"<<endl; cout<<b<<endl; //b[0]的地址0x22fe30 cout<<(b+1)<<endl; //b[1]的地址 0x22fe34 cout<<(&b+1)<<endl; //输出指向b的指针的地址+sizeof(b[3])的地址:0x22fe3c cout<<*(b+1)<<endl; // 12 cout<<*(&b+1)<<endl; //输出的是0x22fe3c ,输出的是他的地址值 (只能记住先!!) cin.get(); return 0; }
2.指针数组和数组指针的区别:
指针数组 : int (*p)[3]; //指针指向数组,p是一个指向数组p[3]的指针。
数组指针: int p[3]; //数组内存到数据是指针
----------跟 指针常量 常量在指针有点类似,谁先执行谁先读,然后根据读的方向判断具体意思。
C/C++笔试篇-------二维指针数组、数组指针的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。