问题:
我有个函数,
它应该接受并初始化一个指针void f(int *ip) { static int dummy = 5; ip = &dummy;}
但是当我如下调用时: int *ip; f(ip);
调用者的指针却没有任何变化。 你确定函数初始化的是你希望它初始化的东西吗?
请记住在C 中, 参数是通 过值传递的。
被调函数仅仅修改了传入的指针副本。
你需要传入指针的地址(函 数变成接受指针的指针), 或者让函数返回指针。参见问题4.5 和4.7。
x