Puntatori

di il
8 risposte

Puntatori

Salve ragazzi, qualcuno potrebbe spiegarmi dettagliatamente cosa fa questa routine ?

char foo(char* s){
    int i, *p= (int*)s;
    char* q;
    p++;
    q = (char*)p;
    return *q;
}
qual' è il valore dell' espressione foo("milano") ? perchè?
buona serata, ringrazio chiunque sarà così gentile da darmi una spiegazione   f9 

8 Risposte

  • Re: Puntatori

    A parte il titolo del thread, questo è un esercizio e dovresti dirci la tua prima ...
  • Re: Puntatori

    NON C'E' la risposta definitiva, ci possono essere MOOOLTE risposte, dipende se sei a 32 o 64 bit, se un char è una ASCII char o un Unicode char, . ..

    PROVALO!
    Programmare vuol dire scrivere codice ed eseguirlo!

    Comunque il 'puntapori' lo metterei in relazione al 'puntaspilli'
  • Re: Puntatori

    migliorabile ha scritto:


    NON C'E' la risposta definitiva, ci possono essere MOOOLTE risposte, dipende se sei a 32 o 64 bit, se un char è una ASCII char o un Unicode char, . ..

    PROVALO!
    Programmare vuol dire scrivere codice ed eseguirlo!

    Comunque il 'puntapori' lo metterei in relazione al 'puntaspilli'
    titolo della discussione rettificato
    grazie della risposta!!
  • Re: Puntatori

    Il risultato è il carattere

    n

    ma perché?
  • Re: Puntatori

    Forse

    O forse 'l' oppure 'i'

    Il C non stabilisce in maniera assoluta le dimensioni dei tipi
    Stabilisce solo delle indicazioni del tipo: almeno, non inferiore a, e similia
    Un programma del genere sarebbe molto poco portabile
  • Re: Puntatori

    Qualche linea guida... a occhio non e' una main ma e' una funzione richiamata...
    Cosa riceve in input? cosa restituisce?
    Cerca (sul libro che usi/internet ecc) cosa e' un casting e come si fa in C...
  • Re: Puntatori

    La chiave è conoscere la differenza (in termini di byte) fra un int e un char, e quindi che vuol dire incrementare un puntatore a int.
  • Re: Puntatori

    Alexv ha scritto:


    La chiave è conoscere la differenza (in termini di byte) fra un int e un char, e quindi che vuol dire incrementare un puntatore a int.
    grazie mille!! ora tutto chiaro. Appena letto il tuo messaggio si è accesa la lampadina
Devi accedere o registrarti per scrivere nel forum
8 risposte