有关指针的二三事-新手村踩坑有感
因为大一比较摸鱼,导致大二的数据结构与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地址的地址,地址的地址和上一级的地址是不一样的
就这样
浙公网安备 33010602011771号