parámetro de función es una matriz

One-dimensional array

definición de la función

Hay cuatro formas de una definición de función:
una manera:

void testfunc(int a[], int size)

Segunda manera:

void testfunc(int* a, int size)

Tres maneras:

void testfunc(int a[10], int size)

Cuatro maneras:

template<class T>
void testfunc(T a, int size)

Camino cinco:

template<class T>
void testfunc(T& a, int size)

El primero de cuatro vías, en función, a es los tipos son * int, sizeof (a) es 4, es decir, el número de bytes de un puntero; la tercera forma de realización, el número de [] puede llenar fácilmente de hecho, ningún dicha matriz está dando fuera de la gama, tipo int *, sizeof (a) es 4, y en general no utilice la tercera realización, la longitud de la matriz debe ser pasado como un parámetro. Llene quinta forma de realización es int [5] (suponiendo pasado matriz de argumentos int de longitud 5), sizeof (a) es 5 * 4 = 20.
Todo lo anterior método definido, el parámetro de la función de modificar la matriz, la matriz cambiará el argumento.

llamada a la función

Cuando se llama a la matriz como un parámetro a una función de una sola manera:

testfunc(a, size)

matriz bidimensional

definición de la función

Hay cuatro formas de una definición de función:
una manera:

void testfunc(int a[][3], int size0, int size1)

Segunda manera:

void testfunc(int(*a)[3], int size0, int size1)

Tres maneras:

template<class T>
void testfunc(T a, int size0, int size1)

Cuatro maneras:

template<class T>
void testfunc(T& a, int size0, int size1)

Los tres primeros, en una función, a es los tipos son int (*) [3], sizeof (a) es 4, es decir, el número de bytes de un puntero; la cuarta forma de realización es del tipo int [2] [ 3] (suponiendo argumento pasado de longitud [2] [3] array int), sizeof (a) es 2x3x4 = 24.
Obsérvese que, cuando el número de columnas debe escribir definición de parámetro, no escribir el número de filas.

llamada a la función

Cuando se llama a la matriz como un parámetro a una función de una sola manera:

testfunc(a, size0, size1)
Publicado 52 artículos originales · ganado elogios 0 · Vistas 685

Supongo que te gusta

Origin blog.csdn.net/UniversityGrass/article/details/104679139
Recomendado
Clasificación