appunti3s:array
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
appunti3s:array [2019/06/29 15:38] – profpro | appunti3s:array [2020/06/08 22:19] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Attenzione: questa pagina è stata ;; | ||
+ | ====== Array ====== | ||
+ | Il tipo array è un' | ||
+ | Mentre un tipo come //int// è detto //tipo semplice//, in quanto può contenere un solo valore. Un tipo //array// invece è detto "tipo strutturato", | ||
+ | In italiano vengono chiamati anche vettori, ma non per questo devono essere confusi con il tipo // | ||
+ | * Un array è una struttura che raggruppa tanti elementi, tutti di uno stesso tipo. | ||
+ | * Per indicare la posizione di un elemento dell' | ||
+ | * Se un vettore è di 9 elementi, l' | ||
+ | |||
+ | <file cpp 51.cpp> | ||
+ | // questo programma è stato scritto da Fabio | ||
+ | // crea un array, lo inizializza e lo visualizza | ||
+ | #include < | ||
+ | int main() | ||
+ | { | ||
+ | int vettore[9]={7, | ||
+ | for (int indice=0; indice< | ||
+ | std::cout << vettore[indice] << ' ' ; //notare la sintassi delle parentesi quadrate | ||
+ | std::cout << std::endl; | ||
+ | return 0; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | I vettori sono utili quando devo gestire grandi quantità di dati dello stesso tipo. | ||
+ | Si può accedere, leggere e modificare un singolo elemento del vettore usando l' | ||
+ | |||
+ | Grazie alla presenza dell' | ||
+ | |||
+ | <file cpp 52.cpp> | ||
+ | // questo programma è stato scritto da Fabio | ||
+ | // crea un array, lo inizializza e ne visualizza la somma di tutti gli elementi | ||
+ | #include < | ||
+ | int main() | ||
+ | { | ||
+ | int totale=0; | ||
+ | int vettore[9]={7, | ||
+ | for (int indice=0; indice< | ||
+ | totale = totale + vettore[indice] ; //notare la sintassi delle parentesi quadrate | ||
+ | std::cout << totale << std::endl; | ||
+ | return 0; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Rivedere il precedente esempio, immaginando di dover visualizzare e sommare 90 valori interi invece di 9. Come potrebbe essere risolto un problema del genere senza l'uso dei vettori? | ||
+ | |||
+ | * Il numero degli elementi deve essere stabilito al momento della compilazione. | ||
+ | * solo per le variabili globali si può stabilire anche run time. | ||
+ | * Il linguaggio **non** effettua controlli sul superamento dei limiti di un array | ||
+ | |||
+ | Le variabili strutturate di tipo //array// derivano dal linguaggio C e sono scomode da usare perché, ad esempio, non c'è nessun controllo del superamento della posizione dell' | ||
+ | |||
+ | ===== Array e puntatori a....===== | ||
+ | |||
+ | Si vedrà presto il legame tra questi due argomenti (vedi [[appunti3s: | ||
+ | |||
+ | =====Array come stringhe di parole===== | ||
+ | Come è ben noto, in C++ per memorizzare una parola si usa il tipo // | ||
+ | In C gli array erano utilizzati anche per contenere una sequenza di caratteri, ma la sequenza deve terminare con il valore //\0// (Zero, da non confondere con il valore numerico intero Zero o con il carattere ASCII ' | ||
+ | |||
+ | Esiste una funzione che converte le variabili C++ %%std:: | ||
+ | < | ||
+ | std::string variabileString = " | ||
+ | char a1[50] = c_str(variabileString); | ||
+ | </ | ||
+ | Esempio in cui viene usata proprio questa funzione: [[appunti3s: |
appunti3s/array.txt · Last modified: 2020/06/08 22:19 by 127.0.0.1