Arrays como argumentos de funciones
Parte de la sección Fundamentos del Journey de C de Coddy. Lección 58 de 63.
Los arrays pueden pasarse como argumentos a funciones en C. Cuando se pasa un array a una función, lo que realmente se pasa es la dirección de memoria del primer elemento.
Declara un array y una función que lo reciba como argumento:
void displayArray(int arr[], int size) {
for(int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}Crea un array y llama a la función:
int numbers[5] = {10, 20, 30, 40, 50};
displayArray(numbers, 5);Cuando pasas un array a una función, los cambios realizados en el array dentro de la función afectarán al array original:
void doubleValues(int arr[], int size) {
for(int i = 0; i < size; i++) {
arr[i] = arr[i] * 2;
}
}
// Llamar a la función
doubleValues(numbers, 5);
// Ahora numbers contiene: {20, 40, 60, 80, 100}Desafío
FácilCrea una función llamada sumArray que acepte dos argumentos:
- Un array de enteros (arr).
- Un entero (size) que representa el tamaño del array.
La función debe calcular y devolver la suma de todos los elementos del array.
Después, en la función principal:
- Lee un entero n (el tamaño del array).
- Lee n enteros y guárdalos en un array.
- Llama a la función sumArray con el array.
- Imprime la suma con el formato: "Sum: X" (donde X es la suma).
Pruébalo tú mismo
#include <stdio.h>
// Escribe tu función sumArray aquí
int main() {
int n;
scanf("%d", &n);
int arr[n];
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// Llama a la función sumArray e imprime el resultado
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
2Variables
Tipos de datosEnteroFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos, parte 1Conversión de tipos, parte 2Desafío de repaso5Entrada y salida
Especificadores de formatoConceptos básicos de scanfDesafío de repaso n.º 1Validación de entradaDesafío de repaso n.º 28Arrays
Declarar ArraysAcceder a elementosModificar elementosArrays multidimensionalesDesafío de repaso n.º 1Arrays como argumentos de funcionesAlgoritmos de ArraysDesafío de repaso n.º 23Operadores
Operadores aritméticosOperador móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Desafío de repasoPractica por tu cuenta: Compilador de C online