Array di caratteri vs. String

December 18

In un linguaggio di programmazione, un tipo di dati carattere è un singolo carattere. Alcuni linguaggi consentono di costruire un array di caratteri per simulare parole o frasi. In alternativa, è possibile creare tipi di stringhe, che contengono le stesse informazioni, ma forniscono funzioni e metodi diversi. array di caratteri sono utili se, ad esempio, si scrive una ricerca di parola o di un programma cruciverba. Tuttavia, le stringhe hanno più usi e sono implementate in più linguaggi di programmazione di array di caratteri.

dimensione della memoria

Un array di caratteri ha sempre uno spazio definito in memoria. Ad esempio, un array di 10 caratteri richiede spazio in memoria per tutti i 10 caratteri, indipendentemente dal fatto che si utilizza tutti loro. Allo stesso modo, se si tenta di salvare una parola che ha più di 10 caratteri nella matrice, qualsiasi cosa dopo il 10 ° è tagliato fuori e ha perso. Corde hanno dimensioni variabili e la quantità di spazio che occupano in memoria dipende dalla lunghezza della stringa.

Lunghezza

Quando si scrive codice, si sa sempre la lunghezza di un array di caratteri, perché si deve dichiarare esplicitamente. Tuttavia, questo non è il caso con stringhe, soprattutto per le stringhe che dipendono da input dell'utente. Per scoprire la lunghezza di un array di caratteri, è sufficiente restituire la dimensione della matrice stessa, indipendentemente elementi dell'array. Per scoprire la lunghezza di una stringa, è necessario chiamare una funzione stringa definita, come la "lunghezza" in C ++, che restituisce la lunghezza come un intero.

indicizzazione

Un vantaggio di array di caratteri più stringhe è che è possibile specificare un indice nella matrice e ottenere un carattere specifico che si desidera utilizzando una sola riga di codice. Non si può fare questo con una stringa nella maggior parte dei linguaggi di programmazione perché le stringhe non mantengono un indice dei suoi personaggi. Allo stesso modo, è possibile scorrere un array di caratteri e di eseguire diverse azioni che non è possibile con le stringhe, come ad esempio contare quante volte la lettera appare "s" o sostituendo ogni occorrenza della lettera "a". Anche in questo caso, la maggior parte degli altri linguaggi di programmazione non hanno questo tipo di funzionalità a vostra disposizione in una forma così semplice.

disponibilità

linguaggi di programmazione più diffuso sono le classi di stringhe che consentono di creare variabili di stringa, tra cui C ++, Java, Visual Basic, Perl, Python e anche linguaggi di scripting come JavaScript e PHP. Tuttavia, il tipo di dati char è molto meno utilizzato. Tra le lingue di cui sopra, solo C ++ e Java hanno un tipo char esplicitamente definito. Per creare un array di caratteri nelle altre lingue, è necessario creare un array di stringhe e limitare ogni elemento di un carattere.