| 
 File: Stare vježbe/vjezbe10/63a__malloc_2Dpolja.c 
/*     63a__malloc_2Dpolja.c     Rad s dinamicki alociranim dvodimenzionalnim poljima -- 1. metoda,     Upoznavanje kljucne rijeci typedef     -----     Ova metoda koristi identifikaciju dvodimenzionalnog polja s     pokazivacem na jednodimenzionalno polje od MAXSTUP elemenata.     Nezgodna strana ovakvog pristupa jest to sto nam da bismo mogli      alocirati memoriju za dvodimenzionalno polje velicina retka (odnosno     maksimalni broj stupaca) mora biti poznata prilikom compiliranja. */   #include <stdio.h> #include <stdlib.h> #include <malloc.h>   #define MAXSTUP 20   /* Naredba typedef sluzi za definiciju novog tipa. Obicno ju koristimo    kako bismo uveli pokratu za neki slozeni tip podatka.    Sintaksa: typedef slozeni_tip pokrata    Slijedecom linijom redak ce postati tip koji predstavlja jednodimenzionalno    polje od MAXSTUP elemenata. */ typedef float redak[MAXSTUP];   void check(void* p) {     if(p == NULL) {         printf("Greska u alokaciji memorije!\n");          exit(1);     }    }   void unos(redak* A, int m, int n) {     int i, j;     for(i=0; i<m; i++)         for(j=0; j<n; j++) {             scanf("%f", &A[i][j]);         } }   void ispis(redak* A, int m, int n) {     int i, j;     for(i=0; i<m; i++) {         for(j=0; j<n; j++)         } }   int main() {     int m, n, i;     /* Deklariramo dvodimenzionalno polje kao pokazivac na redak, odnosno        pokazivac na jednodimenzionalno polje od MAXSTUP elemenata. */     redak* A;       printf("Unesite broj redaka matrice A: ");      scanf("%d", &m);                 printf("Unesite broj stupaca matrice A: ");      scanf("%d", &n);       /* Alociramo memoriju za matricu A s m redaka i unaprijed odredjenih        MAXSTUP stupaca */            A = (redak*) malloc(m*MAXSTUP*sizeof(float));     check(A);       for(i=0; i<m; i++)         printf("Adresa %d. retka: %d\n", i, A [i ]);        unos(A, m, n);     ispis(A, m, n);       /* Oslobadjanje alocirane memorije */     free(A);       return 0; }   
 
          
  
       |