| 
 File: Stare vježbe/vjezbe09/53__pointeri_operacije.c 
/*     53__pointeri_operacije.c     Operacije nad pokazivacima, usporedjivanje pokazivaca     -----     Dane su funkcije max1 i max2 koje za dani realni niz odredjene duljine      nalaze njegov maksimum.     Pritom je max1 implementirana "klasicno", dok je max2 realizirana     upotrebom pointerske aritmetike.  */   #include <stdio.h>   #define N 10   float max1(float* x, int duljina) {     float maximum;     int i;       maximum=x[0];     for(i = 0; i < duljina; i++)         if(x[i] > maximum)             maximum = x[i];       return maximum; }   float max2(float* x, int duljina) {     float maximum, *px;       maximum = *x;     for(px = &x[0]; px <= &x[duljina-1]; px++)  /* ili for(px = x; px <= x+duljina-1; px++) */             if(*px > maximum)             maximum = *px;       return maximum; }     int	main() {     int i;     float x[N];       for(i=0; i<N; i++)         printf("%.2f ", * (x+i )=i* (N-i ));        printf("\n\nmax1: %.2f\n", max1 (&x [0], N ));      printf("max2: %.2f\n", max2 (x, N ));        /* Funkciju mozemo pozvati i tako da predamo x+i kao pocetnu adresu        adresu za polje, no, tada ce broj elemenata biti N-i */     printf("max2: %.2f\n", max2 (x +3*N/ 4, N -3*N/ 4));        return 0; }   
 
          
  
       |