Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > как передать в функцию массив из указателей?


Автор: toshkaexe 28.9.2007, 10:17
как передать в функцию массив из указателей? я в книжке у себя не нашел про это нормального примера.подскажите плиз!

Автор: archimed7592 28.9.2007, 10:20
Код

void f(int **arrayOfPointerToInt)
{
    // ....
}

int main()
{
    int *arr[100];
    // ...
    f(arr);
}

Автор: FiMa1 28.9.2007, 11:34
Я бы посоветовал еще почитать вот здесь http://forum.vingrad.ru/forum/topic-147319/kw-%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BC%D0%B5%D1%80%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B-%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D0%B8/hl/%25D0%25BC%25D0%25BD%25D0%25BE%25D0%25B3%25D0%25BE%25D0%25BC%25D0%25B5%25D1%2580%25D0%25BD%25D0%25AB%25D0%25B5+%25D0%25BC%25D0%25B0%25D1%2581%25D1%2581%25D0%25B8%25D0%25B2%25D0%25AB+%25D0%25B8+%25D1%2583%25D0%25BA%25D0%25B0%25D0%25B7%25D0%25B0%25D1%2582%25D0%25B5%25D0%25BB%25D0%25B8/index.html
Может быть не совсем оно, но для общего развития очень интересно. Раскрыто и описано само понятие массива буквально на пальцах.
http://forum.vingrad.ru/act-Attach/type/post/id-1113973.html от Ln78 (первая часть, вторую найдешь там же).

Автор: archimed7592 28.9.2007, 14:48
Цитата(FiMa1 @  28.9.2007,  11:34 Найти цитируемый пост)
Я бы посоветовал еще почитать вот здесь Многомерные массивы и указатели

Эх... И почему я всегда пропускаю такие шумные перепалки :(

Автор: aleknek 4.5.2008, 22:09
Подскажите как можно инициализировать массив указателей на функции арифметических операций? 
Код

double calculate(double x, double y, double (*pf[4])(double, double));

Автор: Rififi 4.5.2008, 22:57
aleknek
как можно инициализировать массив указателей на функции
точно так же, как и любой другой массив, только синтаксис немного страшноватый, вследствии чего сильно рекомендуется использовать typedef

Код
double f1(double, fouble);
// ...

void init_array(double (*(*arr)[10])(double, double))
{
   (*arr)[0] = f1;
  // ...
}


double (*(arr)[10])(double, double) = { NULL };
init_array(&arr);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)