杂
有些博客里的代码总是带一点指针,看不懂,,难受的我,所以去稍稍了解了下,讲道理,只是能看懂了而已,我是不会用指针写的,这里仅有一点点东西,所以想要透彻指针的大佬就..别了
简·单 认识一下
在 int i = 30; char a = 't';
的时候 , 其实在内存中申请了一个空间 , 看图就明白了
&i 的含义 : 返回 (i) 变量的地址编号
int i = 1; cout << &i << " " << i;
- 分别输出看看 ↓
0016FD14 1
(前面那个是空间编码为6的内存地址
int *pi
如上图 , 跟变量没啥区别 , 但是存的东西不一样 ,
pi = &i 的含义 : 把 (i) 地址的编号赋值给 (pi) , 所以 指针变量所存的内容就是内存的地址编号
int i = 1, *pi; pi = &1;
- 输出
*pi = 1
指针与数组名
通过 数组名 访问数组元素
int a[] = {1,2,3,4,5};
for(int i=0; i<5; i++) cout << a[i] << "
";
//此代码和下面这个输出一样
int a[] = {1,2,3,4,5};
for(int i=0; i<5; i++) cout << *(a+i) << "
";
通过 指针 访问数组元素
int *pa, a[] = {1,2,3,4,5};
pa = a; //直接把数组名 a 赋给了指针 pa
for(int i=0; i<5; i++) cout << pa[i] << "
";
//此代码和下面这个输出一样
int *pa, a[] = {1,2,3,4,5};
pa = a;
for(int i=0; i<5; i++) cout << *(pa+i) << "
";
奇怪の操作
int *pa, a[] = {1,2,3,4,5};
pa = a;
for(int i=0; i<5; i++) {
cout << *pa;
pa ++;
} //输出和上面代码输出一样, 亲测有效
此外还有其他指针的 神 奇 操作 , 不过我用不到hhh(逃
撒花(。・・)ノ❀❀