No, stdinit is not a "memory address".
This is an input / output stream, basically an abstraction of the operating system level, which allows you to read data (or write in case stdout).
To read from a stream, you need to use the correct stream I / O functions.
, , , , , stdin.
- :
int my_scanf(int (*getchar_callback)(void *state), void *state, const char *fmt, ...);
. state - , getchar_callback() my_scanf().