4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65
|
||||||
1 | ||||||
Функции: возврат структуры12.12.2010, 15:11. Показов 9572. Ответов 15
Метки нет (Все метки)
Посмотрите, пожалуйста, что-то не так с возвратом структуры из функции?
1
|
12.12.2010, 15:11 | |
Ответы с готовыми решениями:
15
Возврат структуры из функции Возврат структуры функцией через указатель Возврат структуры из функции Возврат структуры из функции |
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
||||||
12.12.2010, 15:35 | 2 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Вот так должно работать, не компилировал правда
1
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
12.12.2010, 15:37 | 3 |
chaosfall, почитайте про то, что в си параметры передаются по значению
1
|
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
|
12.12.2010, 15:43 | 4 |
chaosfall, да вообще почитайте про функции в си, и передачу параметров в функции, а так же их возвращение.
0
|
4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65
|
|
12.12.2010, 16:52 [ТС] | 5 |
alex_x_x, illuminati, Спасибо за советы. Если не сложно, подскажите, пожалуйста, книги\статьи, где хорошо и подробно описаны темы указателей и функций. По этим темам в сети много информации, но мне пока попадается только поверхностное описание основной сути, которого, видимо, недостаточно.
0
|
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
||||||
12.12.2010, 20:06 | 6 | |||||
Сообщение было отмечено Памирыч как решение
Решение
chaosfall, https://www.cyberforum.ru/cpp-... ost1092740
Добавлено через 6 минут Ну а что б работать с массивом нужно сделать следующее : 1. передать сам массив( имя массива является указателем на первый элемент массива ) 2. передать длинну массива
На счет книг, посмотри в Г.Шилдт, у него довольно доступное изложение специфики языка Си
1
|
4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65
|
|||||||||||
12.12.2010, 21:06 [ТС] | 7 | ||||||||||
illuminati, спасибо!
Не подскажешь еще, как правильно в этой функции заполнять поля значениями, вводимыми с клавиатуры? Пробую это делать так:
и подсвечивается желтым строчка
0
|
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
||||||
12.12.2010, 23:32 | 8 | |||||
обращение по полю структуры через точку, т.е.
Оператор -> , это обращение по указателю( если не прав, поправьте ) Вообщем, если в функции объявлена структура, то к её полям обращаться через точку.
0
|
4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65
|
|
12.12.2010, 23:48 [ТС] | 9 |
так пишет
0
|
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
|
12.12.2010, 23:51 | 10 |
chaosfall, выложи весь исходник.
0
|
4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65
|
||||||
13.12.2010, 00:10 [ТС] | 11 | |||||
0
|
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
|||||||||||
13.12.2010, 00:29 | 12 | ||||||||||
Сообщение было отмечено Памирыч как решение
Решение
во-первых, структура - тип данных, который определяется программистом во-вторых, лучше использовать typedef, т.е. переопределение типа в-третьих, в функции не нужно выделять память под структуру, когда ты передаешь переменную, ты передаешь указатель, т.е. адрес на ячейку памяти, а начиная с той ячейки память УЖЕ выделена. в-четвертых, в параметрах функции не нужно писать struct компилятор понимает с первого раза. т.е. в твое случае : scan_info - это тип данных, такой же как и int, float, char и т.п., соответственно обїявлять переменніе ты можешь точно так же
1
|
4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65
|
||||||
13.12.2010, 00:55 [ТС] | 13 | |||||
Добавлено через 1 минуту
0
|
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
||||||
13.12.2010, 01:15 | 14 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Да, прости, не компилируется)
2
|
4 / 1 / 2
Регистрация: 04.12.2010
Сообщений: 65
|
|
13.12.2010, 01:18 [ТС] | 15 |
illuminati, Вот теперь все ок, спасибо огромное!
0
|
21 / 21 / 5
Регистрация: 14.06.2010
Сообщений: 108
|
||||||
13.12.2010, 01:19 | 16 | |||||
Строкой
В main обращатся к полям структуры по значению, т.е. через оператор точка "." В функции, в которой структура передаётся по указателю(адресу), обращаться к полям структуры нужно через оператор "->" Вот вроде всё. З.Ы.: постарайся не подключать лишних библиотек, мне кажется это дурной тон. И отдельный + за то что девушка, не каждая станет сама разбираться с кодом)
1
|
13.12.2010, 01:19 | |
13.12.2010, 01:19 | |
Помогаю со студенческими работами здесь
16
Возврат структуры из функции Возврат структуры из функции через указатель Возврат значения структуры Возврат структуры из процедуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |