Передать массив в функцию по ссылке - C (СИ)
Формулировка задачи:
#include <cstdlib> #include <iostream> using namespace std; int FindMax(int *Arr,int *Count); int main(int argc, char *argv[]) { int *a; int i, n; printf("Enter n: "); scanf("%d",&n); a=(int*) malloc(n*sizeof(int)); for (i=0;i<n;i++) { printf("Enter a[%d]: ",i); scanf("%d",&(a[i])); } FindMax(a,&n); system("PAUSE"); return EXIT_SUCCESS; } int FindMax(int Arr[],int *Count) { for(int i=0;i<*Count;i++) { printf("a[%d]: %d\n",i,*Arr[i]);//тут ругается } }
Решение задачи: «Передать массив в функцию по ссылке»
textual
Листинг программы
*(arr + i)
Объяснение кода листинга программы
В данном коде происходит передача массива в функцию по ссылке. Список выражений в коде:
arr
- переменная, которая содержит указатель на начало массива.i
- переменная, которая содержит индекс элемента массива.(arr + i)
- выражение, которое вычисляет новый адрес массива, используя старый адресarr
и добавляет к нему индексi
. В результате выполнения данного кода, функция получит массив по ссылке и сможет работать с его элементами, используя полученный адрес и индексы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д