Как я могу вывести из вопроса, вы пытаетесь получить учебник отсюда, который, очевидно, не представляется возможным. Вы должны попробовать сами примеры и, самое главное, вам нужно понять концепцию возврата указателя из функции.
Вы можете начать с этих вопросов ::
- Когда возвращается указатель из функции хорошо?
- Что возвращают эти указатели?
- Как получить возвращаемый указатель от функции?
Например, вы можете компилировать и отлаживать этот пример,
/* function to generate and retrun random numbers. */
int * getRandom()
{
static int r[10];
int i;
/* set the seed */
srand((unsigned)time(NULL));
for (i = 0; i < 10; ++i)
{
r[i] = rand();
printf("%d\n", r[i]);
}
return r;
}
/* main function to call above defined function */
int main()
{
/* a pointer to an int */
int *p;
int i;
p = getRandom();
for (i = 0; i < 10; i++)
{
printf("*(p + [%d]) : %d\n", i, *(p + i));
}
return 0;
}
В чем проблема? Есть ли что-то, что вы хотите знать, на что не может ответить базовый учебник? – ApproachingDarknessFish
«return ... in a function» не имеет смысла, по крайней мере, не для меня. Вы хотите вернуть указатель * из * функции или присвоить возвращаемое значение вызываемой функции lvalue типа «pointer-to-something»? Или третий вариант? –
Я предполагаю, что я хочу присвоить возвращаемое значение вызываемой функции указателю на что-то –