Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Paso de un Arreglo Estático como Argumento de la Función | Especificación de Argumentos de Funciones
Funciones en C++

Paso de un Arreglo Estático como Argumento de la Función

Desliza para mostrar el menú

Pasar un arreglo unidimensional como argumento

Para pasar un arreglo unidimensional a una función, coloca [] después del nombre del parámetro en la firma de la función.

main.cpp

main.cpp

123456789101112131415161718192021
#include <iostream> // Function to process a 1-dimensional static array void process(int arr[], const int size) { for (int i = 0; i < size; ++i) std::cout << arr[i] << " "; // Print each element of the array std::cout << std::endl; } int main() { const int SIZE = 5; // Initialize a 1-dimensional static array int oneDimArray[SIZE] = {1, 2, 3, 4, 5}; // Call the function to process the array std::cout << "Original Array: "; process(oneDimArray, SIZE); }

Pasar un arreglo bidimensional como argumento

Pasar un arreglo 2D a una función funciona de manera similar a pasar un arreglo 1D — se utiliza [][] después del nombre del parámetro.

Sin embargo, existe una diferencia importante: en C++, no se puede declarar un parámetro de función como datatype arrayName[][] sin especificar al menos una dimensión. Se debe definir el número de columnas (o una dimensión) para que el compilador pueda calcular correctamente los desplazamientos de memoria al acceder a los elementos del arreglo.

main.cpp

main.cpp

1234567891011121314151617181920212223
#include <iostream> // Function to print a 2D array with a fixed number of columns void process(int matrix[][3], const int rows) { // Loop through rows for (int i = 0; i < rows; ++i) { for (int j = 0; j < 3; ++j) // Loop through columns std::cout << matrix[i][j] << " "; // Print each element std::cout << std::endl; // Move to the next line } } int main() { const int ROWS = 2; int arr[ROWS][3] = {{1, 2, 3}, {4, 5, 6}}; std::cout << "Original Matrix:" << std::endl; process(arr, ROWS); // Pass array and row count to the function }
question mark

¿Qué firma de función acepta correctamente un arreglo estático 2D como parámetro?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 4
some-alt