Un array è una struttura di dati utilizzata per memorizzare elementi sequenziali dello stesso tipo di dati. La posizione di un elemento nella sequenza è chiamata indice. Gli indici iniziano da 0 a (n-1).

In questo articolo imparerai come utilizzare gli array in C. La maggior parte dei concetti qui si estende alla maggior parte degli altri linguaggi di programmazione, quindi assicurati di prenderne nota.

Definizione di array

Per definire un array, scrivi il suo tipo di dati seguito dal nome dell'array e dalle parentesi quadre:

int età[8];

All'interno delle parentesi quadre c'è il numero previsto di elementi di dati che l'array riceverà. Se devi dichiarare due array contemporaneamente, puoi farlo come di seguito. Vale la pena ricordare che dichiararli separatamente è il modo preferito.

int età[8], altezza[8];

È anche possibile dichiarare un array come di seguito:

int[8] età;

La sintassi sopra significherebbe che età è un puntatore a un array di tipo int. Sebbene sia possibile utilizzare la "sintassi del puntatore", è preferibile la prima.

instagram viewer

Imparentato: Come visualizzare la tavola pitagorica di un numero usando Python, C++, JavaScript e C

A volte, potresti non sapere quanti elementi ti aspetti che abbia il tuo array. In tal caso, dovresti dichiarare l'array senza il numero di elementi. Vedi l'esempio qui sotto:

int età[];

Operazioni su array

Per fare riferimento a un elemento dell'array, scrivi il nome dell'array seguito dal suo indice tra parentesi quadre (ad es. età[5]). Puoi anche usare le variabili all'interno delle parentesi quadre:

età[x+y]

È necessario assicurarsi che il calcolo di queste variabili sia compreso tra 0 e (n-1). Altrimenti, otterrai un errore di compilazione.

Inizializzazione

Gli elementi dell'array possono essere forniti al momento della dichiarazione o successivamente nel programma. Questa azione è nota come inizializzazione poiché l'array inizialmente ha valori null.

Vedere l'esempio di seguito. Stampa il valore di un elemento e il suo indice nell'array. La riga 5 usa un elenco di inizializzatori per inizializzare l'array intero.

#includere 
int main (vuoto) {
printf("%s%11s
", "Elemento", "Valore");
int n[4] = {1, 4, 9, 16};
// emette gli elementi dell'array in formato tabulare
for (size_t i = 0; io < 4; ++i) {
printf("%5u%10d
", io, n[i]);
}
}

Produzione:

Valore elemento
0 1
1 4
2 9
3 16

Utilizzo di array per memorizzare stringhe

Gli array possono anche essere usati per memorizzare stringhe, non solo numeri interi. Se usato in questo modo, ricorda di includere le virgolette singole per ogni elemento nell'elenco degli inizializzatori.

char fruit[]= ['b', 'e', ​​'r', 'r', 'y', '\0' ];

Notare che il char viene utilizzato il tipo di dati. Un letterale stringa in realtà è costituito da singoli caratteri, ed è per questo che vedi char.

Imparentato: Come imparare la programmazione C++: 6 siti per iniziare

L'array mostrato termina con una sequenza di escape (\0). Questo è un carattere di terminazione di stringa chiamato carattere null. È necessario includerlo sempre quando si inizializza un elenco di array.

In realtà esiste un modo più semplice per inizializzare un array di caratteri. Abbiamo mostrato prima il primo approccio in modo da sapere che un array di caratteri ha sempre un carattere finale speciale (\0). È un errore comune per i programmatori principianti avere la dimensione dell'array meno di uno, dimenticando l'ultimo elemento (\0).

char string1[5] = "Codice";

Supponiamo che tu debba ottenere l'input dell'utente e memorizzarlo in un array. Puoi usare la funzione di libreria standard scanf per questo.

Tuttavia, è necessario specificare il numero di caratteri che la funzione dovrebbe aspettarsi. Questo è perché scanf non controlla la dimensione dell'array e potrebbe scrivere dati su indirizzi oltre l'array, causando un buffer overflow.

Utilizzare il %S identificatore di conversione per definire l'input massimo previsto. Il scanf la funzione leggerà tutti i caratteri inseriti fino a quando non incontra spazio, tabulazione, nuova riga o un indicatore di fine file.

Migliorare la programmazione in C

Le risorse che usi per imparare sono cruciali tanto quanto il tuo zelo per imparare. L'apprendimento senza buone pratiche renderà il tuo viaggio di programmazione impegnativo.

Il C è un linguaggio particolarmente impegnativo da imparare poiché non è orientato agli oggetti. Fortunatamente, abbiamo molte risorse per aiutarti a padroneggiare la programmazione C.

CondividereTweetE-mail
Usa queste risorse di formazione per padroneggiare la programmazione C oggi

Hai mai desiderato sapere come eseguire la programmazione di base in C? Ora puoi farlo grazie a questo pacchetto di formazione.

Leggi Avanti

Argomenti correlati
  • Programmazione
  • C Programmazione
  • Programmazione
  • Linguaggi di programmazione
Circa l'autore
Girolamo Davidson (23 articoli pubblicati)

Jerome è uno scrittore dello staff di MakeUseOf. Si occupa di articoli su programmazione e Linux. È anche un appassionato di criptovalute e tiene sempre d'occhio l'industria delle criptovalute.

Altro da Jerome Davidson

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti