Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Передача статичного масиву як аргументу функції | Специфікація аргументів функції
Функції C++

Передача статичного масиву як аргументу функції

Свайпніть щоб показати меню

Передача одновимірного масиву як аргументу

Щоб передати одновимірний масив у функцію, розмістіть [] після імені параметра у сигнатурі функції.

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); }

Передача двовимірного масиву як аргументу

Передача двовимірного масиву у функцію відбувається аналогічно передачі одновимірного масиву — використовуйте [][] після імені параметра.

Однак існує важлива відмінність: у C++ не можна оголосити параметр функції як datatype arrayName[][] без зазначення хоча б одного виміру. Необхідно визначити кількість стовпців (або один з вимірів), щоб компілятор міг правильно обчислювати зсуви пам'яті при доступі до елементів масиву.

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

Який сигнатура функції правильно приймає 2D статичний масив як параметр?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Передача статичного масиву як аргументу функції

Передача одновимірного масиву як аргументу

Щоб передати одновимірний масив у функцію, розмістіть [] після імені параметра у сигнатурі функції.

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); }

Передача двовимірного масиву як аргументу

Передача двовимірного масиву у функцію відбувається аналогічно передачі одновимірного масиву — використовуйте [][] після імені параметра.

Однак існує важлива відмінність: у C++ не можна оголосити параметр функції як datatype arrayName[][] без зазначення хоча б одного виміру. Необхідно визначити кількість стовпців (або один з вимірів), щоб компілятор міг правильно обчислювати зсуви пам'яті при доступі до елементів масиву.

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 }
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4
some-alt