2 / 2 / 2
Регистрация: 12.10.2013
Сообщений: 168
1

Как объявлять указатель на массив указателей?

17.10.2013, 01:04. Показов 729. Ответов 5
Метки нет (Все метки)

Народ, поясните как объявлять указатель на массив указателей и как отправлять его как параметр в функцию
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2013, 01:04
Ответы с готовыми решениями:

Как правильно объявлять указатель на массив указателей?
#include <stdio.h> #include <conio.h> #include <malloc.h> int main(){ int a, b; int *a1,...

Как функция возвращает указатель на структуру в массив указателей
Друзья, следующий вопрос, у меня есть функция, которая: создает указатель на структуру-> выделяет...

Как обойтись без указателей и указателей на указатель?
Ибо не совсем выходит понять,что на что тут указывает #include "stdafx.h" #include <iostream>...

указатель на массив указателей
помогите разобраться, передаю в функцию update_table массив указателей на фигуры, для каждой из...

5
201 / 199 / 65
Регистрация: 06.10.2013
Сообщений: 552
17.10.2013, 07:34 2
C
1
2
int ***ppp_array;
void func(int ***ppp_array);
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
17.10.2013, 09:10 3
Это указатель на 1й элемент массива указателей, а не то, что в вопросе
0
201 / 199 / 65
Регистрация: 06.10.2013
Сообщений: 552
17.10.2013, 09:48 4
ну так дальше надо бы динамически выделить память под массив, а затем под конкретные указатели, не вижу проблемы
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
17.10.2013, 10:14 5
Причем тут память, то?
Я хотел сказать, что указатель на начало массива и указатель на сам массив суть разные вещи.
0
590 / 353 / 67
Регистрация: 21.09.2008
Сообщений: 1,207
26.10.2013, 20:07 6
Читайте Айвора Хортона в оригинале, на английском.

Объявляете прототип указателя на массив указателей, например, с десяток:
C
1
int (* pfunc_array[10]) (char *param1, int param2);
Объявляете и реализуете функцию с таким же прототипом (возвращаемым результатом и передаваемыми параметрами), как у pfunc_array:
C
1
2
3
4
5
6
7
int func(char *p1, int p2)
{
  printf("Called function: %s\n", __func__);
  printf("Passed first parameter: %s\n", p1);
  printf("Passed second parameter: %d\n", p2);
  return 0;
}
Далее инициализируете массив указателей адресами на функции, например, первый элемент:
C
1
pfunc_array[0] = func;
И вызываете функцию через указатель, по индексу в массиве:
C
1
pfunc_array[0]("STRING", 5);
Итоговый пример:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
 
int (* pfunc_array[10]) (char *param1, int param2);
 
int func(char *p1, int p2)
{
  printf("Called function: %s\n", __func__);
  printf("Passed first parameter: %s\n", p1);
  printf("Passed second parameter: %d\n", p2);
  return 0;
}
 
int main(int argc, char **argv)
{
  pfunc_array[0] = func;
  pfunc_array[0]("STRING", 5);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2013, 20:07
Помогаю со студенческими работами здесь

Массив указателей на указатель
Помогите, пожалуйста. У нас есть объявление int **m6; Нужно представить и нарисовать, как данный...

Указатель на массив указателей
Доброго времени суток. Имеется класс Kino, содержащий в себе некоторые поля данных и методы к ним....

Обязательно ли объявлять переменную для хранения адреса переменной как указатель?
// Указатели #include &lt;iostream&gt; using namespace std; int Variable; int *pVariable; //...

Вернуть указатель на массив указателей
Мне надо вернуть указатель на массив указателей, как это сделать? void **matrix(FILE *f) //...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru