Array dinamico
Lezione 13 di 14 del corso Puntatori in C++ di Coddy.
Grazie alla programmazione moderna e ai linguaggi di programmazione di alto livello, abbiamo strutture dati e algoritmi che svolgono per noi lavori complessi in modo semplice. Abbiamo il vettore, la pila, la coda ecc.
In particolare, il vector in C++ è una struttura dati che rappresenta un array dinamico. Non è necessario inizializzarne la lunghezza: quando usiamo il metodo .push_back(), la sua lunghezza cambia automaticamente e gli elementi che vogliamo aggiungere vengono aggiunti automaticamente, e così via.
Ma dietro le quinte, il vector viene modificato dinamicamente e tutti i metodi e le funzioni sono predefiniti da qualcun altro. Tuttavia, è utile sapere come funziona l'allocazione dinamica di un array.
Per esempio, supponiamo di avere un array: possiamo dichiararlo e inizializzarne la lunghezza usando new e riservando spazio nella memoria. In seguito possiamo riempire quelle posizioni nella memoria con i valori che vogliamo.
// Allocazione della memoria per 5 numeri interi:
int *array = new int[5];
// Riempimento dell'array:
for(int i = 0; i < 5; i++)
array[i] = i + 1;
// Stampa a schermo
for(int i = 0; i < 5; i++)
cout << array[i] << " ";
// Deallocazione della memoria
delete[] array;Output:
1 2 3 4 5Come puoi vedere, abbiamo riservato dinamicamente spazio nella memoria per 5 numeri interi, usando un ciclo for per riempire quegli spazi nella memoria, li abbiamo stampati e poi abbiamo eliminato l'array con delete[] per deallocare la memoria in modo sicuro ed evitare perdite di memoria.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Sfida
FacileIn input, riceverai un numero N che rappresenta il numero di elementi di un array. Crea dinamicamente un array chiamato numbers usando un puntatore e alloca spazio per N interi. Nella riga successiva dell'input, riceverai N elementi, inserendoli uno alla volta con un ciclo for, e infine stampa tutti gli elementi nelle posizioni pari (l'indice iniziale è 0). Infine, dealloca la memoria allocata all'inizio
Input
5
1 2 3 4 5
Output
1 3 5
Provalo tu
#include <iostream>
using namespace std;
int main() {
// Scrivi il codice qui
return 0;
};Tutte le lezioni di Puntatori in C++
2Puntatori e riferimenti
Puntatori come parametriRiferimenti - &Riferimenti come parametriPuntatori vs riferimenti3Allocazione dinamica della memoria
Operatori new e deleteMemory leakArray dinamicoArray dinamico - inserimentoEsercitati da solo: Compilatore C++ online