Witam,
podczas studiowania jednej lektury (może to ma znaczenie: z 1993 roku) dot. C++ natknąłem się na podobny kod funkcji:
double funkcja(int n, double *vec1, double vec2)
{
int k;
k = n/4;
double sum;
while(k--)
{
sum += *vec1 **vec2; //<- o co chodzi z tym podwójnym mnożeniem/mnożeniem wskaźników?!?
sum += *(vec1+1) **(vec2+1); //j.w.
sum += *(vec1+2) **(vec2+2); //j.w.
sum += *(vec1+3) **(vec2+3); //j.w.
vec1 += 4;
vec2 +=4;
}
//... pozostała część kodu
}
Celem tej funkcji jest obliczenie iloczyny skalarnego.
No i tak jak w komentarzu o co chodzi z tymi gwiazdkami?!? Uczyć programować uczę się od niedawna ale z tego co pamiętam zabronione są operacje na wskaźnikach (poza dodawaniem?)
Do tego vec2 nie jest wskaźnikiem!! (tylko zwykłą zmienną double?)
Czy mógłby mi ktoś wyjaśnić to przystępnie? będę bardzo zobowiązany!!!
Pozdrawiam i z góry dziękuję