之前真的灰常郁闷,被指针传递这块搞得昏头转向,网上也找不到相关的资料!!!有木有!!
博客只是想记录一下研究的过程。
函数中数据传递有两种模式(一种是带有指针的,另一种是不带指针的)
(1) 第一种,一般不会有什么问题
for example
int wave(int a) {}
void main()
{
int point;
wave(point);
}
(2)第二种是指针调用的方法,特别容易混淆,以下两种都是指针调用的情况,但是调用的方法不一样
for example 1
int wave(int *a) {}
void main()
{
int *point;
wave(point);
}
for example 2
int wave(int *a) {}
void main()
{
int point;
wave(&point);
}
容易混淆的是到底应该用wave(point)还是wave(&point)。其实,看起来不同,但从本质上来说指针传递的都是地址:
wave(point)中,point就是地址,传递的是其指向的内容;
wave(&point)中,&point是地址,传递的是point变量。
因而,这样就比较清晰了,保持这样一条思想就不会错误,这次算是牢牢记住了!!!