Dubbio su puntatore a char

di il
5 risposte

Dubbio su puntatore a char

Ciao a tutti, sono alle prime armi con i linguaggi di programmazione. In un esercizio svolto in C esegue i seguenti passi:

inizializza un puntatore a char:

char* maze;

poi utilizza nell esercizio maze con i una variabile intero ad esempio 0<i<10.

if( maze == 1 ){ ....

Il mio dubbio è: visto che maze è un indirizzo che punta ad una stinga, come è possibile che maze è comparato con un intero?

5 Risposte

  • Re: Dubbio su puntatore a char

    Un char è un valore numerico intero ad un byte con segno
    Puoi quindi confrontarlo con numeri compresi tra -128 e 127
  • Re: Dubbio su puntatore a char

    oregon ha scritto:


    Un char è un valore numerico intero ad un byte con segno
    Puoi quindi confrontarlo con numeri compresi tra -128 e 127
    Scusami ma non ho ancora capito..

    Un char rappresenta un carattere. Quando inizializzo un puntatore a char, esso punterà ad un carattere.

    Ma questo ragionamento è sbagliato evidentemente, perche se stampo il valore dell elemento puntato, risulta un intero.

    int main(void){

    char a="x";
    char* pointer= &a;

    printf("%d", *pointer);

    }


    Dove sbaglio?
  • Re: Dubbio su puntatore a char

    Un char in memoria è un valore numerico. Tale valore, usando il codice ASCII (per semplificare il discorso), rappresenta un carattere.

    Conosci la corrispondenza tra simboli e interi secondo la tabella ASCII ?

    Puoi semplicemente scrivere

    char a = 'x';
    printf("%d", a);
  • Re: Dubbio su puntatore a char

    Si grazie mille, comincio a collegare tutto.
  • Re: Dubbio su puntatore a char

    Meglio così ...
Devi accedere o registrarti per scrivere nel forum
5 risposte