因为大一比较摸鱼,导致大二的数据结构与c++课程中指针有些难以理解,于是花了一晚上简单的过了一遍,顺带解决了一些问题。
指针的定义
//这四种定义格式都是可行的,区别在于强调什么特征 int * x_pointer; //无强调 int*x_pointer; //不解释,我觉得这样写很难受 int *x_pointer; //可以说是强调定义了一个int类型的 *x_pointer变量 int* x_pointer; //强调定义了一个指向int的名称为x_pointer的指针
踩坑1:
int x = 10; int *x_p = &x;
第二行的赋值其实是 x_p = &x;
并不是我最开始理解的*x_p = &x;
x_p存放的是一个地址;
踩坑2:地址的地址
{ int a = 100; int *b = &a; int **c = &b; /*这句话可以拆开成 int **c; c = &b; */ cout << b << endl << *b <<endl << c << endl << *c << **c; }
所以说,c存放的是b的地址,然后*c存放的是c地址的地址,地址的地址和上一级的地址是不一样的
就这样
原文链接: https://www.cnblogs.com/Shinonome/p/12591699.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/338687
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!