ps:这篇当个笑话看就是了贴吧上问了一下错误比较多,也比较懒得改,等我学艺有成之后重新审查一下
老实说学了这么久的C/C++,也听了众多关于指针的说法,但实际上一直不能领悟到底什么是指针,最近看了菜鸟教程上的课程才醒悟了过来,接下来说说什么是指针
有人说,指针就是地址。对,但比较抽象,没说出表象
#include <iostream>
using namespace std;
void swap(
int
)
{
int * tmp = a;
a = b;
b = tmp;
}
int main()
{
int a = 3,b = 5;
int * pa = & a;
int * pb = & b;
swap(pa,pb);
cout << *pa << "," << * pb;
return 0;
}
上面这个代码中 swap函数中该怎么填?
int *(&a),int *(&b)
如果只是填*a,*b就会出错,不会交换两个数的值
在利用指针交换两个数的值时,大体上你去改变的是值
来看这几个变量
int f_n=20;
int *p=&f_n;
int **pp=&p;
让我们输出f_n,p,pp的值
20
0x61fe14
0x61fe08