IBAH (02.11.2017 08:39 - 08:48, просмотров: 148) ответил michas на Вопрос не специалиста по СИ.
Скрипач, остатками сознания, проявляет возможность мыслить как Русский Человек. Я бы тоже так сделал, объявил тип "физическая величина", и написал соответствующие функции
typedef enum KodOsibka {Osibka,BezOsibka} KodOsibka;
typedef struct
{
enum Razmernost {m,s,m_s};
float Znach;
} FizVel;
KodOsibka AddFizVel(a1,a2,&r)
{
if(a1.Razmernost!=a2.Razmernost) return Osibka;
r->Razmernost=a1.Razmernost;
r->Znach=a1.Znach+a2.Znach;
return BezOsibka;
}
Так же появляется возможность назначать новую размерность результата, например в результате умножения