Функция может быть объявлена как
int f( circlepointer c );
или
int f( const circle *c );
и названа как
circle c = { /*...*/ };
f( &c );
Внутри функции вы можете получить доступ к элементам данныхобъект типа c->radius
или ( *c ).radius
.
Вместо типа возвращаемого значения int вы также можете использовать тип C _Bool. Или вы можете включить заголовок <stdbool.h>
и записать тип возвращаемого значения как bool
.
Обратите внимание на то, что эти два объявления функций
int f( const circlepointer c );
и
int f( const circle *c );
не эквивалентны. В первом объявлении сам указатель является константой. Во втором объявлении объект, на который указывает указатель, является константой.