基础知识 | 每日一练(45)

基础知识练习

士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ——菜根谭

学生:请问小编我有个函数,它应该接受并初始化一个指针 void f(int *ip) { staticint dummy = 5; ip = &dummy;} 但是当我如下调用时: int *ip;

f(ip); 调用者的指针却没有任何变化。

小编:你确定函数初始化的是你希望它初始化的东西吗?请记住在 C 中, 参数是通过值传递的。被调函数仅仅修改了传入的指针副本。你需要传入指针的地址 (函数变成接受指针的指针), 或者让函数返回指针。

今日送给读者的话

作人只是一味率真,踪迹虽隐还显;存心若有半毫未净,事为虽公亦私。

鹩占一枝,反笑鹏心奢侈;兔营三窟,转嗤鹤垒高危。智小者不可以谋大,趣卑者不可与谈高。信然矣

正文完