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