以图明志

C/C++编程语言

[专题] 漫谈C指针:一个指针应用实例

学会调试指针传递的方法
上面代码,你认为会是输出什么呢?运行试试。唉!怎么输出的是:没有找到!而不是“找到了,……”。明明a值为’d’,而str字符串的第四个字符是’d’,应该找得到呀!再看函数定义处:void find1(char array[], char search, char *pa)看调用处:find1(str, a, p); 依我在前面的分析方法,函数调用时会对每一个参数进行一个隐含的赋值操作。

C/C++编程语言

[专题] 漫谈C指针:参数的引用传递

引用传递与值传递的区别
我们先看Exchg3函数的定义处Exchg3(int &x, int &y)。参数x、y是int的变量,调用时我们可以像值传递(如: Exchg1(a, b); )一样调用函数(如: Exchg3(a, b);)。但是x、y前都有一个取地址符号“&”。有了这个,调用Exchg3时函数会将a、b 分别代替了x、y了,我们称:x、y分别引用了a、b变量。

C/C++编程语言

[专题] 漫谈C指针:参数的值传递

实参与形参
原来,其实函数在调用时是隐含地把实参a、b 的值分别赋值给了x、y,之后在你写的Exchg1函数体内再也没有对a、b进行任何的操作了。交换的只是x、y变量。并不是a、b。当然a、b的值没有改变啦!函数只是把a、b的值通过赋值传递给了x、y,函数里头操作的只是x、y的值并不是a、b的值。这就是所谓的参数的值传递了。

C/C++编程语言

[专题] 漫谈C指针:参数传递的三道题目

值传递、地址传递与引用传递
我们都知道:C语言中函数参数的传递有:值传递、地址传递、引用传递这三种形式。题一为值传递,题二为地址传递,题三为引用传递。不过,正是这几种参数传递的形式,曾把我给搞得晕头转向。我相信也有很多人与我有同感吧?后面部分请让我逐个地谈谈这三种传递形式。
1 / 1 首页 < Prev 1 Next > 尾页 页码: