Vettori di caratteri e di interi - Differenze?

di il
5 risposte

Vettori di caratteri e di interi - Differenze?

Mi chiedevo se esistono differenze nell'uso dei vettori di caratteri rispetto a quelli che contengono interi.
Negli esercizi che ho fatto finora mi sono sembrati intercambiabili e cio' mi lascia un po' confuso

5 Risposte

  • Re: Vettori di caratteri e di interi - Differenze?

    I caratteri sono memorizzati come sequenze di valori (secondo la codifica ASCII o altri tipi) che sono numeri interi.
    Ecco perché ti sembra che siano simili. E' la rappresentazione finale che è importante.

    Se poi avrai dubbi più specifici, indicali.
  • Re: Vettori di caratteri e di interi - Differenze?

    In generale su ciascuna macchina diversi tipi di dato coincideranno nella rappresentazione; si tengono distinti perché quello che coincide su una macchina può non coincidere su un'altra. Per esempio adesso ho cambiato abitudine e se prima tendevo a usare "unsigned char" per numeri tra 0 e 255 adesso preferisco usare "uint8_t", così resto libero per esempio di utilizzare le bitmask potendo contare su 8 bit sicuri. Mi pare che lo standard specifichi che un char ha sempre 8 bit ma non solo mi sento a disagio nel dare per scontate le cose, ma differenziando i tipi di dato si migliora la leggibilità anche se poi il compilatore genererà codice identico.
  • Re: Vettori di caratteri e di interi - Differenze?

    Grazie mille delle risposte, sono state molto utili
  • Re: Vettori di caratteri e di interi - Differenze?

    Aggiungerei, come appendice a quanto già scritto, anche la differenza di quantità di memoria occupata dai due tipi: all'interno dell'area di memoria del vettore di tipo "char" ogni suo elemento occupa 1 byte di memoria, mentre nel vettore di tipo "int" ogni elemento occupa 4 byte (in un sistema a 64-bit).
    Pertanto la quantità di memoria utilizzata da:
    char c[6];
    è diversa da quella utilizzata da:
    int i[6];
  • Re: Vettori di caratteri e di interi - Differenze?

    Grazie anche a te vuott
Devi accedere o registrarti per scrivere nel forum
5 risposte