私のJavaの経験から、把握するのは難しくありませんでした。
非常に単純な関数:
void update(float * p,float value)
{
*p = value;
}
コンパイラはそれを文句を言っていidentifier p is undefined
ます。
*p
ポインタを逆参照して値を格納すると思いました。
私のJavaの経験から、把握するのは難しくありませんでした。
非常に単純な関数:
void update(float * p,float value)
{
*p = value;
}
コンパイラはそれを文句を言っていidentifier p is undefined
ます。
*p
ポインタを逆参照して値を格納すると思いました。
OK、あなたのコードは正しいように見えますが、エラーメッセージは別の場所から来ていると想定する必要があります。この「完全な」バージョンのプログラムを試すことができます。
#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);
}
それをコピーして貼り付け、エラーや警告があれば応答してください。正常に動作する場合は、コードに入力ミスがあります。それでも問題が発生する場合は、環境に問題があり、詳細が必要です。