Arrays y funciones
Parte de la sección Fundamentos del Journey de C++ de Coddy. Lección 62 de 74.
Los arreglos no se pueden pasar directamente a las funciones como arreglos completos. Cuando intentas pasar un arreglo a una función, «se convierte» en un puntero a su primer elemento.
Por ejemplo:
int numbers[5] = {1, 2, 3, 4, 5};
void processArray(int arr[]) {
int size = std::size(arr);
}std::size(arr) no se compila aquí, porque arr en realidad es un puntero, no un arreglo, y un puntero no almacena el tamaño del arreglo. Aprenderás sobre los punteros en el próximo curso.
Por eso, al pasar arreglos a funciones, normalmente necesitamos pasar el tamaño como un parámetro separado:
void processArray(int arr[], int size) {
// Ahora podemos trabajar de forma segura con el arreglo usando el parámetro size
}Así es como se llama a la función:
int numbers[5] = {1, 2, 3, 4, 5};
processArray(numbers, 5);Además, no es posible devolver un arreglo en una función:
int[] processArray(int arr[]) {
return arr;
}Esto es ilegal. En su lugar, deberías usar la sintaxis *:
int* processArray(int arr[]) {
return arr;
}
int* newArr = processArray(arr);La sintaxis de asterisco (*) hace referencia a punteros, que se explicarán en el próximo curso.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidadosPractica por tu cuenta: Compilador de C++ online