Chiarimento array k-dimensionali dentro funzioni

di il
3 risposte

Chiarimento array k-dimensionali dentro funzioni

Salve di nuovo dopo essermi ripassato la teoria sui puntatori volevo chiarirne il funzionamento all'interno delle funzioni in questa questa funzione che ho scritto, dovrebbe impostarmi tutti gli elementi dell'array k-dimensionale a 2 ma non mi da "Errore di segmentazione"

int ***func(int k[dimensione][riga][colonna])
{
	int ***h=new int **[riga];
	
		for (int j=0; j<3; j++)
		{
			for(int i=0; i<3; i++)
			{
				h[i][j]=new int [riga];

				for (int g=0; g<3; g++)
				{
					h[g][i][j]=2;

				}

			}


		}

return h;

}

3 Risposte

  • Re: Chiarimento array k-dimensionali dentro funzioni

    Forse tu non hai chiara qualche base.... a prescindere dal codice sbagliato perché parli di k-dimensionale? L'array k è tridimensionale.

    E non usi k all'interno della funzione per dare il valore 2 ai suoi elementi. Perché devi allocare e restituire per forza un altro array?
  • Re: Chiarimento array k-dimensionali dentro funzioni

    Ma sta fissazione dello heap da dove viene? Allocare un array nello stack e usare void func(...) va bene per la stragrande maggioranza di cose che deve fare uno studente, anzi meglio che la gestione della memoria è automatica.
  • Re: Chiarimento array k-dimensionali dentro funzioni

    Premesso che il codice che hai postato non ha senso, proprio non capisco lo scopo di tutto ciò!
    Mi spiego meglio... il tuo è un problema di carattere pratico, ossia stai cercando di implementare qualcosa di ben preciso ma non sai come farlo, oppure si tratta solo di tentativi finalizzati alla comprensione di alcuni argomenti di teoria?
    Nel secondo caso, visto che gli argomenti in gioco sono molteplici (puntatori, array statici, relazione tra array e puntatori, allocazione dinamica della memoria, array dinamici, ...), cerca di porre una domanda precisa, in modo che possiamo aiutarti a chiarire i tuoi dubbi.
Devi accedere o registrarti per scrivere nel forum
3 risposte