2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Передача массива в функцию [С]
Сообщение03.12.2010, 19:02 


05/09/10
102
Как передать двумерный массив в функцию в языке Си?

 Профиль  
                  
 
 Re: Передача массива в функцию
Сообщение03.12.2010, 19:09 
Заслуженный участник


04/05/09
4593
По указателю - тривиально:
Используется синтаксис C
int foo(int arr[10][10])
{
...
}
int main()
{
  int arr[10][10];
  foo(arr);
}
 


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

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


05/09/10
102
Спасибо большоое

 Профиль  
                  
 
 Re: Передача массива в функцию
Сообщение03.12.2010, 20:40 
Аватара пользователя


30/09/10
119
А еще можно работать с динамическими массивами
Код:
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 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group