- A+

I have a long long formula, like

`float a = sin(b)*cos(c)+sin(c+d)*sin(d)....`

Is there a way to use `s`

instead `sin`

in C programming, to shorten the formula, without affecting the running time?

if I use define, does it affect runtime?

`define`

works by doing text-based substitution at compile time. If you `#define s(x) sin(x)`

then the C pre-processor will rewrite all the `s(x)`

into `sin(x)`

before the compiler gets a chance to look at it.

BTW, this kind of low-level text-munging is exactly why define can be dangerous to use for more complex expressions. For example, one classic pitfall is that if you do something like `#define times(x, y) x*y`

then `times(1+1,2)`

rewrites to `1+1*2`

, which evaluates to `3`

instead of the expected `4`

. For more complex expressions like it is often a good idea to use inlineable functions instead.