sabato 2 marzo 2013

C - Struct passata per valore

In questo esercizio viene utilizzata una struct per racchiudere assieme un vettore dinamico e la sua dimensione (lenght). Il metodo di passaggio delle variabili è identico al precedente.


#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

typedef struct{
int* v; /*vettore dinamico*/
unsigned lenght; /*lunghezza vettore*/
} vector;

vector crea(vector vd){
vd.v = (int*) malloc(vd.lenght * sizeof (int));
 return vd;
}

void riempi(vector vd){
 int i;
 for(i=0;i<vd.lenght;i++)
  vd.v[i] = rand();
}

void stampa(vector vd){
 int i;
 for(i=0;i<vd.lenght;i++){
if(i>=0 && i<vd.lenght-1)
printf("%d, ", vd.v[i]); 
else 
printf("%d.", vd.v[i]);
 }
}

int main(void){
 vector vd;
 vd.lenght = 10;
 vd = crea(vd);
 riempi(vd);
 stampa(vd);
}

Nessun commento:

Posta un commento