Что это за функция (указатель с кодом)? - PullRequest
2 голосов
/ 14 марта 2020

Это первый раз, когда я вижу нечто подобное, когда функция похожа на указатель (но это не указатель на функцию ??). См. Пример ниже.

static struct test *MyFunc(struct astr *A, int count)
{

}

MyFunc(B, 100);

Может кто-нибудь объяснить, как работает выше, а также почему вы используете функцию указателя (если это правильный термин), а также почему бы просто не использовать

 static struct test MyFunc(struct astr *A, int count)

Ответы [ 2 ]

2 голосов
/ 15 марта 2020

Думайте об этом так:

static (struct test *) MyFunc(struct astr *A, int count)
1 голос
/ 15 марта 2020

Итак, давайте посмотрим на объявление функции:

static struct test *MyFunc(struct astr *A, int count)

Сама функция stati c (локально для файла, в котором она была объявлена) и возвращает указатель (расположение в памяти) на значение типа struct test. Другими словами, это функция stati c с типом возврата struct test *.

Помните: объявления функций Stati c задают класс хранения самой функции , а не тип возврата .

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