Как передать массив в функцию 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 можно использовать указатель на первый элемент массива, имя массива или константный указатель на первый элемент массива. Выбор конкретного способа зависит от требований конкретной задачи.