我正在将 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?
我已经学会了这些,但是它们已经很长时间了,有人能给我提示吗?