Что это означает, когда структура используется как тип функции - PullRequest
0 голосов
/ 12 января 2020

Итак, мы начали создавать структуры в C и получили несколько примеров использования структур и функций. Большинство из них являются пустыми функциями, но некоторые функции вместо типа данных имеют структурное имя. Например:

Student* ucitajStudenteTxt(int* koliko)

где «Студент» является ранее объявленной структурой.

Я просто хотел бы знать, что означает этот тип декларации и какие преимущества он даст, так как Я не смог найти ответ в презентациях или онлайн.

Ответы [ 2 ]

0 голосов
/ 12 января 2020

Student * используется для возврата указателя на тип Student. Если мы просто используем Student, он возвращает сам тип Student. Вы спросили в комментарии, какова цель использования переменной указателя вместо самого типа. У указателей есть много вариантов использования. Например, если вы хотите изменить переменную, переданную в качестве аргумента, в функцию (передача по адресу), вы должны использовать переменные-указатели. В вашем случае без полного контекста программы мы не можем сказать, почему используется указатель.

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

0 голосов
/ 12 января 2020

Предполагая, что Student является допустимым типом, тогда Student * является типом "указатель на Student".

Так что это также тип, просто не один из стандартных типов C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...