To avoid typing the struct name and parentheses every time, you can wrap the function call in a variadic macro.
For a more "classic" C approach, you can use variadic functions, though these do not provide true named parameters and are harder to use safely. How to use named and optional parameters in C
The most common way to simulate named parameters is to pass a single struct to a function. By using C99 designated initializers, you can specify values for specific members by name. To avoid typing the struct name and parentheses
#define CREATE_WINDOW(...) create_window((WindowArgs){__VA_ARGS__}) // Now you can call it more like a native feature: CREATE_WINDOW(.width = 1024, .height = 768, .title = "Editor"); Use code with caution. Copied to clipboard 3. Alternative: Variadic Functions ( stdarg.h ) you can use variadic functions