Обе функции rectangleget()
и rectangleset()
инициализируют член length
структуры - width
никогда не инициализируется.
Эти функции кажутся странно названными - возможно, их следует назвать setlength()
и setwidth()
(и установить соответствующий член)?
Как упоминалось в других ответах, есть другие изменения, которые улучшат код, например, если функции инициализации возьмут указатель на структуру для инициализации,На самом деле, rect
для работы должен быть параметром практически любой функции, которая на него воздействует.Но такого рода изменения могут быть темами для последующих упражнений ...
Например, у вас могут быть функции со следующими сигнатурами:
void rectangle_set_width( struct rectangle*);
void rectangle_set_length( struct rectangle*);
float rectangle_area( struct rectangle const*);
float rectangle_perimeter( struct rectangle const*);
, чтобы они могли работать с любым rectangle
переменная, а не только одна глобальная переменная.