Cコードを別の言語に翻訳しています。ポインタについて混乱しています。私がこのコードを持っているとしましょう。関数fooは、関数bobを呼び出し、これらは両方ともポインターです。
double
*foo(double *x, double *init, double *a){
double *y = (double*)malloc(5*sizeof(double));
double *z = (double*)malloc(5*sizeof(double));
double *sum, *update;
sum = (double*)bob(y, z) //<---Q1: why y and z don't need stars in front of them?
//I thought they are pointers?
for (i<0; i<5; i++){
z[i]=y[i] //Q2: howcome it's ok to assign y to z?
} //aren't they pointer?(i.e.hold memory address)
}
double
*bob(*arg1, *arg2){
something...
}
それで、
1)なぜyとzはそれらの前に星を必要としないのですか、yとzは単にアドレスするのではありませんか?
2)sumに星がないのはなぜか、sumはポインタとして宣言されていると思いました。
3)yをzに割り当ててもよいのはなぜですか?
私はこれらを学びました、しかしそれらはすっごく長いです、誰かが私にヒントを与えることができますか?