Ho un problema, non riesco a capire come sfruttare il metodo di conteggio automatico per inizializzare un array. Vi riporto il codice di un esercizio che ho fatto:
se notate i commenti e provate il codice vi accorgete che l'elemento arr_d2[2] sembra non essere gestito come gli altri.. come mai?codice://: C06:es_7.cpp // inizializzazione aggregati #include <iostream> using namespace std; int main() { double arr_d[3] = {1,2}; int dim_arr = sizeof arr_d / sizeof *arr_d; cout << "arr_d ha " << dim_arr << " elementi" << endl; for (int i = 0; i < dim_arr; i++) cout << "arr_d[" << i << "] = " << arr_d[i] << endl; /* dalla stampa degli elementi di nota come arr_d[2] sia inizializzato automaticamente a 0 */ double arr_d2[] = {2, 4.5}; dim_arr = sizeof arr_d2 / sizeof *arr_d2; cout << "arr_d2 ha " << dim_arr << " elementi" << endl; for (int i = 0; i < dim_arr; i++) cout << "arr_d2[" << i << "] = " << arr_d2[i] << endl; /* dalla stampa degli elementi di nota come arr_d2 abbia 2 elementi, quelli creati tramite inizializzazione */ arr_d2[2] = 5.7; cout << arr_d2[2] << endl; /* prima si e' creato un nuovo elemento arr_d2, ma questo non viene computato nella dimensione dell'array ! */ dim_arr = sizeof arr_d2 / sizeof *arr_d2; cout << "arr_d2 ha " << dim_arr << " elementi" << endl; for (int i = 0; i < dim_arr; i++) cout << "arr_d2[" << i << "] = " << arr_d2[i] << endl; }///:~

Rispondi quotando