Salve a tutti,
ho una struct di questo tipo:
codice:
struct array{       
        char nomi[50][25];
        float prezzi[50];
}magazzino;
con una funzione carico le informazioni di magazzino.nomi per n volte:

codice:
void carica(char *p,int n){
    int i=0;
    for(i=0;i<n;i++){
            printf("\nInserire il nome del prodotto %d :",i+1);
            scanf("%s",magazzino.nomi[i]);
    }
}
dove il parametro (char *p) è inizializzato nel main() in questo modo:
codice:
 char *p=magazzino.nomi;
il mio problema è ordinare secondo il bubble sort il vettore magazzino.nomi[].
Provando a determinare il maggiore fra il puntatore corrente e l'omonimo +25 (per portarmi al secondo elemento), in una funzione, riscontro alcuni errori es:
codice:
//dopo aver eseguito la funzione carica(&p):
void ordina(char *p){
          if(*p>*(p+25)){
                   .....
           }
 }
Bene. Questo codice mi funziona se lo uso nel main ma non funziona se lo uso in una funzione ,
In poche parole non riesco a fare un paragone fra il puntatore di i elemento e quello di i+1 elemento.
Può qualcuno spiegarmi il motivo?
Grazie in anticipo!