signbit

Defined in header <math.h> #define signbit(arg) /* implementation defined */ (since C99) Determines if the given floating point number arg is negative. The macro returns an integral value. Parameters arg - floating point value Return value Nonzero integral value if arg is negative, ​0​ otherwise. Notes This macro detects the sign bit of zeroes, infinities, and NaNs. Along with copysign, this macro is one of the only two portable ways to examine the sign of

signed

Usage signed type modifier

setlocale

Defined in header <locale.h> char* setlocale( int category, const char* locale); The setlocale function installs the specified system locale or its portion as the new C locale. The modifications remain in effect and influences the execution of all locale-sensitive C library functions until the next call to setlocale. If locale is a null pointer, setlocale queries the current C locale without modifying it. Parameters category - locale category identifier, one of the

setvbuf

Defined in header <stdio.h> int setvbuf( FILE * stream, char * buffer, int mode, size_t size ); (until C99) int setvbuf( FILE *restrict stream, char *restrict buffer, int mode, size_t size ); (since C99) Changes the the buffering mode of the given file stream stream as indicated by the argument mode. In addition, If if buffer is a null pointer, resizes of the internal buffer to size. If buffer is not a null pointer, instr

set_constraint_handler_s

Defined in header <stdlib.h> constraint_handler_t set_constraint_handler_s( constraint_handler_t handler ); (since C11) Configures the handler to be called by all bounds-checked functions on a runtime constraint violation or restores the default handler (if handler is a null pointer). The handler must be a pointer to function of type constraint_handler_t, which is defined as. Defined in header <stdlib.h> typedef void (*constraint_handler_t)( const char *restri

setbuf

Defined in header <stdio.h> void setbuf( FILE *stream, char *buffer ); (until C99) void setbuf( FILE *restrict stream, char *restrict buffer ); (since C99) Sets the internal buffer to use for stream operations. It should be at least BUFSIZ characters long. If buffer is not null, equivalent to setvbuf(stream, buffer, _IOFBF, BUFSIZ). If buffer is null, equivalent to setvbuf(stream, NULL, _IONBF, 0), which turns off buffering. Parameters stream -

scanf

Defined in header <stdio.h> (1) ​int scanf( const char *format, ... );​ (until C99) ​int scanf( const char *restrict format, ... );​ (since C99) (2) int fscanf( FILE *stream, const char *format, ... ); (until C99) int fscanf( FILE *restrict stream, const char *restrict format, ... ); (since C99) (3) int sscanf( const char *buffer, const char *format, ... ); (until C99) int sscanf( const char *restrict buff

Scope

Each identifier that appears in a C program is only visible (that is, may be used) in some possibly discontiguous portion of the source code called its scope. Within a scope, an identifier may designate more than one entity only if the entities are in different name spaces. C has four kinds of scopes: block scope file scope function scope function prototype scope Nested scopes If two different entities named by the same identifier are in scope at the same time, and they belong to t

setjmp

Defined in header <setjmp.h> #define setjmp(env) /* implementation-defined */ Saves the current execution context into a variable env of type jmp_buf. This variable can later be used to restore the current execution context by longjmp function. That is, when a call to longjmp function is made, the execution continues at the particular call site that constructed the jmp_buf variable passed to longjmp. In that case setjmp returns the value passed to longjmp. The invocation of

Scalar initialization

When initializing an object of scalar type, the initializer must be a single expression. The initializer for a scalar (an object of integer type including booleans and enumerated types, floating type including complex and imaginary, and pointer type including pointer to function) must be a single expression, optionally enclosed in braces: = expression (1) = { expression } (2) The expression is evaluated, and its value, after conversion as if by assignment to the type of the obje