【C++】【内附前辈贴】浅谈指针的指针
来源:互联网 发布:星巴克糕点搭配知乎 编辑:程序博客网 时间:2024/06/05 05:20
首先贴一个链接:如何理解指向指针的指针? 然后强调一下,结合前辈有助于消化指针的指针!!
下面博主动手实践,发此学习贴,希望对大家有些许帮助。
- 首先,定义一下整型常量和整型指针变量:
int i = 4 ,j = 6 ,k = 111;int *iptr = &i, *jptr = &j;
next,定义指针的指针(双重指针):int **doublePtr = &iptr;
- 现在指针iptr 指向了i,jptr 指向了 j; *iptr 就是 i,**doublePtr 就是 i,或者说是 4。
- 下面用我们盒子箭头图来描述,像这样:
finally,双重指针令指向jptr :[接着这么写]*doublePtr = jptr;
- 我们把 jptr指向对象地址值赋给 doublePtr 。也就是说 iptr 现在它指向了 j【这个地方最绕!】,指针传递的是实参,相当于iptr所指对象i的地址值被修改成j的地址值,然后按照地址查找对象的值,因而i没变,只是iptr重新指向了一个新的对象而已!而已!
- 全部代码:
/* 功能:Excercise3.5.4 */ #include <iostream>using namespace std;//定义在全局作用域中int main()//定义在局部作用域中的数组{int i = 4 ,j =6;int *iptr = &i, *jptr = &j;int **doublePtr = &iptr;cout << "指针iptr所指对象在内存中的地址及对象值分别为:" << iptr << " " << *iptr << endl;cout << "指针jptr所指对象在内存中的地址及对象值分别为:" << jptr << " " << *jptr << endl;cout << "指针iptr自身在内存中的地址及值分别为:" << *doublePtr << " " << **doublePtr << endl;*doublePtr = jptr;cout << "指针jptr自身在内存中的地址及值分别为:" << *doublePtr << " " << **doublePtr << endl;cout << "最终验证,经过重新指向后,指针iptr所指对象在内存中的地址及对象值分别为:" << iptr << " " << *iptr << endl;system("pause");return 0;}
贴图验证:打印结果+局部变量截图
阅读全文
0 0
- 【C++】【内附前辈贴】浅谈指针的指针
- 浅谈c语言的指针
- 浅谈C语言的指针
- 【C语言】 浅谈指针
- 浅谈C语言指针
- 【c++】浅谈this指针
- 浅谈对C语言指针的理解
- [C++]class内的方法指针
- [C++]class内的static方法指针
- C指针的指针
- c 指针的指针
- 浅谈delphi的指针
- 浅谈指针的偏移
- 浅谈指针的特点
- 从二叉排序树------浅谈C指针
- C语言之指针浅谈
- 浅谈C之精华---指针
- 浅谈C语言中的指针
- 接口
- matlab2016a 中载入VLFeat 失败~
- Linux 用户管理和权利下放
- HDU
- TCP定时器
- 【C++】【内附前辈贴】浅谈指针的指针
- Chrome 控制台console的用法
- this 、static 关键字
- android(java) DES加密、解密详解
- 后缀数组详解
- 图片压缩
- matlab 2017a Linux 和Mac版本安装技巧
- 安装tesseract-ocr出错的解决策略
- Codeforces Round #420 (Div. 2) D. Okabe and City(最短路)