Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
2 / 1 / 0
Регистрация: 19.02.2012
Сообщений: 10
1

Возврат указателя на массив структур из функции?

02.04.2012, 14:14. Показов 4053. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Функция enter в момент вызова принимает массив структур monitor. Запускает функцию поиска свободной структуры searchFreeProd. Эта функция должна вернуть указатель на свободную структуру. Не могу сообразить как возвращать. Совсем запутался. Какой тип возврата определить, что писать в return?
Задание в том что бы возвратить именно указатель. Если возвращать просто порядковый номер структуры и инкрементировать указатель на ее значение, то у меня все работает.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#define prPcs 100
 
struct wh {
 
    char product[20];
    float price;
    unsigned int pcs;
    unsigned int percent;
};
 
void enter(struct wh *pMonitor);
struct wh searchFreeProd(struct wh *pMonitor);
 
int main(void) {
 
    struct wh monitor[prPcs];
    enter(&monitor[0]);
}
 
void enter(struct wh *pMonitor) {
 
  //int prod;
    struct wh *pRet;
    
    *pRet = searchFreeProd(pMonitor);
 
    printf("Enter product: ");
    gets(pMonitor->product);
 
    printf("Enter price: ");
    scanf("%f", &pMonitor->price);
    
    printf("Enter pcs: ");
    scanf("%d", &pMonitor->pcs);
    
    printf("Enter percent: ");
    scanf("%d", &pMonitor->percent);    
}
 
struct wh searchFreeProd(struct wh *pMonitor) {
 
    register int i;
 
    for(i = 0; pMonitor->product[0] && i<prPcs; i++, pMonitor++);
 
    if(i == prPcs) {
    
        //return -1; // Если свободных структур нет
    }
    return *pMonitor;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2012, 14:14
Ответы с готовыми решениями:

Передача\возврат указателя на массив в\из функции
Когда захожу в функцию PrintNeravenstvo, то указатель правильный, как только я делаю один заход на...

Возврат указателя на массив из функции
Здравствуйте. Пытаюсь вернуть указатель на массив из функции. #include &lt;iostream&gt; using...

Возврат указателя на массив из функции
День добрый, коллеги по цеху. Не откажите в нужде java программисту в познаниях нативного кода....

Возврат указателя из функции
Почему функция vvod не возвращает указатель? #include&quot;stdafx.h&quot; #include &quot;conio.h&quot;...

1
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
02.04.2012, 14:22 2
C
1
 struct wh *searchFreeProd(struct wh *pMonitor);
В функции
C
1
return pMonitor;
1
02.04.2012, 14:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2012, 14:22
Помогаю со студенческими работами здесь

ASM (Возврат указателя из функции)
1)Предисловие Функция, написанная на языке Ассемблера вызывается из кода, написанного на С. ...

Возврат указателя на локальный массив
Например ример: static unsigned char * func(...) { unsigned char d; memset(d, 'A',...

Возврат указателя на массив указателей
Доброго времени суток. Есть программа, где куча методов должны работать с одни массивом указателей....

Возврат указателя из функции с нужным типом
Как как мне получить из функции указатель нужного мне типа? Можно ли для этого использовать...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru