2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Передача массива в функцию [С]
Сообщение03.12.2010, 19:02 
Как передать двумерный массив в функцию в языке Си?

 
 
 
 Re: Передача массива в функцию
Сообщение03.12.2010, 19:09 
По указателю - тривиально:
Используется синтаксис C
int foo(int arr[10][10])
{
...
}
int main()
{
  int arr[10][10];
  foo(arr);
}
 


По значению - только если обернуть его структурой или union.

 
 
 
 Re: Передача массива в функцию
Сообщение03.12.2010, 19:12 
Спасибо большоое

 
 
 
 Re: Передача массива в функцию
Сообщение03.12.2010, 20:40 
Аватара пользователя
А еще можно работать с динамическими массивами
Код:
main()
{  int **a;
  a = (int **)malloc(10*sizeof(int *));
  for(j=0; j<10; j++) a[j] = malloc(20*sizeof(int));
  f(a);
}
f(int **x)
{
    x[0][18] = 1;
}

В C++ вместо malloc можно использовать new
Но, вообще-то, многомерные массивы - не самая большая удача C.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group