Как передать массив в функцию C

Существует несколько способов передачи массива в функцию на языке C. Рассмотрим некоторые из них с примерами кода.

1. Передача массива как указателя:

В этом случае, функция принимает указатель на первый элемент массива, который можно использовать для доступа к элементам массива внутри функции.

c
#include 
void print_array(int *arr, int size) {
    int i;
    for (i=0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr)/sizeof(int);
    print_array(arr, size); // передаем массив в функцию
    return 0;
}

В данном примере, функция `print_array` принимает указатель на первый элемент массива `arr` и его размер `size`. Внутри функции мы используем этот указатель для поочередного доступа к элементам массива и выводим их на экран.

2. Передача массива как массива:

Другой способ передачи массива в функцию - передача его как аргумента функции. В данном случае, имя массива используется в функции как пространство имен для доступа к элементам массива.

c
#include 
void print_array(int arr[], int size) {
    int i;
    for (i=0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr)/sizeof(int);
    print_array(arr, size); // передаем массив в функцию
    return 0;
}

В данном примере, функция `print_array` принимает массив `arr` и его размер `size`. Внутри функции мы используем имя массива `arr` как пространство имен для доступа к элементам массива и выводим их на экран.

3. Передача массива как константного указателя:

Если мы не собираемся изменять элементы массива внутри функции, то мы можем передавать массив как константный указатель, таким образом защищая его от изменений.

c
#include 
void print_array(const int *arr, int size) {
    int i;
    for (i=0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr)/sizeof(int);
    print_array(arr, size); // передаем массив в функцию
    return 0;
}

В данном примере, функция `print_array` принимает константный указатель на первый элемент массива `arr` и его размер `size`. Внутри функции мы используем этот указатель для поочередного доступа к элементам массива и выводим их на экран.

Таким образом, чтобы передать массив в функцию на языке C можно использовать указатель на первый элемент массива, имя массива или константный указатель на первый элемент массива. Выбор конкретного способа зависит от требований конкретной задачи.

Похожие вопросы на: "как передать массив в функцию c "

Градусы Цельсия: обозначение и значение
Foo: все, что вам нужно знать
How to Use C atoi Function to Convert Strings to Integers: Examples & Usage
HTML шрифт: как выбрать и использовать правильно
Func: функциональное программирование для начинающих
Калькулятор Паскаль
Open C – открытый формат для сохранения графических изображений
SQL FLOOR: Подробное руководство и примеры использования
Google Groups - платформа для общения в группах и списке рассылок
Разыменование указателя C: детальное руководство и примеры кода