Piccola spiegazione...

di il
2 risposte

Piccola spiegazione...

Ciao a tutti,
studiando c ho trovato dei pezzi di codice come char * strcatN(char *s, ...) in cui il puntatore è nel nome della funzione.
Non riesco a capire che significato abbia.
Inoltre, che significa la scrittura "char *" ?Insomma, se è un puntatore, a che punta??
Ecco un esempio di funzione che non riesco a capire del tutto:

char * strcatN(char *s, ...) {
va_list args ;
char *st ;
va_start(args, s) ;
st = va_arg(args, char *) ;
while(st != "")
{
strcat(s, st) ;
st = va_arg(args, char *) ;
}
va_end(args) ;
return s ;
}
Tutti gli aiuti saranno veramente tanto graditi

2 Risposte

  • Re: Piccola spiegazione...

    Char * è un puntatore a char. Si usa per la gestione delle stringhe in C. char *s in realtà si può pensare come la prima posizione della stringa s cioè s[0]. Avendo la prima posizione io ho l'inizio della stringa. va_list, va_start,va_end li puoi trovare quì.
    http://www.cplusplus.com/reference/clibrary/cstdar
    In pratica fanno il parsing delle varibili quando laquantità di esse è ignota.
  • Re: Piccola spiegazione...

    Grazie mille... mi è stato utile per capire ^^
Devi accedere o registrarti per scrivere nel forum
2 risposte