Ciao a tutti...
Ho un piccolo dubbio che riguarda il passaggio come parametro ad una funzione di un array.
Mi sono accorto che scrivendo *array e array[] si ottiene lo stesso risultato, ma in pratica... Che differenza c'è?
Ciao a tutti...
Ho un piccolo dubbio che riguarda il passaggio come parametro ad una funzione di un array.
Mi sono accorto che scrivendo *array e array[] si ottiene lo stesso risultato, ma in pratica... Che differenza c'è?
Dal punto di vista tecnico, nessuna. Lo standard specifica che se una funzione accetta un parametro array[] o addirittura array[N] (dove N è un intero), la sua definizione viene intesa come *array.
D'altronde, può essere utile scrivere array[] come forma di documentazione - risulta più chiaro che la funzione si aspetta un array, e non un puntatore ad un singolo elemento.
Amaro C++, il gusto pieno dell'undefined behavior.