函数内部没有识别指针变量?

时间:2012-09-25 17:28:21

标签: c pointers

我是指针的新手,虽然从我的Java经验来看,抓住它并不难我仍然在学习曲线上,所以请耐心等待。 所以我有一个非常简单的功能:

void update(float * p,float value)
{
    *p = value;
}

现在编译器抱怨标识符p未定义。我以为*p会取消引用指针并在其中存储值。

1 个答案:

答案 0 :(得分:4)

好的,所以你的代码看起来正确,我必须假设错误消息来自其他地方。您可以尝试这个程序的“完整”版本:

#include <stdio.h> 

void update(float *p, float value){
  *p = value;
}

int main(int argc, char *argv[]){  
  float p = 3.0;
  update(&p, 5.0);
  printf("%f\n", p);
}

只需复制并粘贴即可,并回复您收到的任何错误/警告。如果它运行正常,那么你会错过在代码中输入的东西,如果它仍然给你带来问题,那么你的环境就会出现问题,我们需要更多细节。