---
name: "stdlib.h"
section: "3avr"
platform: "linux"
package: "avr-libc"
version: "1:2.2.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/stdlib.h"
---

# stdlib.h(3avr)

## NAME

stdlib.h

## SYNOPSIS

### Data Structures

struct **div\_t**\
 struct **ldiv\_t**\

### Macros

\#define **RAND\_MAX**   0x7FFF\

### Typedefs

typedef int(\* **\_\_compar\_fn\_t**) (const void \*, const void \*)\

### Functions

void **abort** (void)\
 int **abs** (int \_\_i)\
 long **labs** (long \_\_i)\
 void \* **bsearch** (const void \*\_\_key, const void \*\_\_base, size\_t \_\_nmemb, size\_t \_\_size, int(\*\_\_compar)(const void \*, const void \*))\
 **div\_t** **div** (int \_\_num, int \_\_denom) \_\_asm\_\_('\_\_divmodhi4')\
 **ldiv\_t** **ldiv** (long \_\_num, long \_\_denom) \_\_asm\_\_('\_\_divmodsi4')\
 void **qsort** (void \*\_\_base, size\_t \_\_nmemb, size\_t \_\_size, **\_\_compar\_fn\_t** \_\_compar)\
 long **strtol** (const char \*\_\_nptr, char \*\*\_\_endptr, int \_\_base)\
 unsigned long **strtoul** (const char \*\_\_nptr, char \*\*\_\_endptr, int \_\_base)\
 long **atol** (const char \*\_\_s)\
 int **atoi** (const char \*\_\_s)\
 void **exit** (int \_\_status)\
 void \* **malloc** (size\_t \_\_size)\
 void **free** (void \*\_\_ptr)\
 void \* **calloc** (size\_t \_\_nele, size\_t \_\_size)\
 void \* **realloc** (void \*\_\_ptr, size\_t \_\_size)\
 float **strtof** (const char \*\_\_nptr, char \*\*\_\_endptr)\
 double **strtod** (const char \*\_\_nptr, char \*\*\_\_endptr)\
 long double **strtold** (const char \*\_\_nptr, char \*\*\_\_endptr)\
 int **atexit** (void(\*func)(void))\
 float **atoff** (const char \*\_\_nptr)\
 double **atof** (const char \*\_\_nptr)\
 long double **atofl** (const char \*\_\_nptr)\
 int **rand** (void)\
 void **srand** (unsigned int \_\_seed)\
 int **rand\_r** (unsigned long \*\_\_ctx)\

### Variables

size\_t **\_\_malloc\_margin**\
 char \* **\_\_malloc\_heap\_start**\
 char \* **\_\_malloc\_heap\_end**\

### Non-standard (i.e. non-ISO C) functions.

\#define **RANDOM\_MAX**   0x7FFFFFFF\
 char \* **itoa** (int val, char \*s, int radix)\
 char \* **ltoa** (long val, char \*s, int radix)\
 char \* **utoa** (unsigned int val, char \*s, int radix)\
 char \* **ultoa** (unsigned long val, char \*s, int radix)\
 long **random** (void)\
 void **srandom** (unsigned long \_\_seed)\
 long **random\_r** (unsigned long \*\_\_ctx)\

### Conversion functions for double arguments.

\#define **DTOSTR\_ALWAYS\_SIGN**   0x01        /\* put '+' or ' ' for positives \*/\
 \#define **DTOSTR\_PLUS\_SIGN**   0x02        /\* put '+' rather than ' ' \*/\
 \#define **DTOSTR\_UPPERCASE**   0x04        /\* put 'E' rather 'e' \*/\
 \#define **EXIT\_SUCCESS**   0\
 \#define **EXIT\_FAILURE**   1\
 char \* **ftostre** (float \_\_val, char \*\_\_s, unsigned char \_\_prec, unsigned char \_\_flags)\
 char \* **dtostre** (double \_\_val, char \*\_\_s, unsigned char \_\_prec, unsigned char \_\_flags)\
 char \* **ldtostre** (long double \_\_val, char \*\_\_s, unsigned char \_\_prec, unsigned char \_\_flags)\
 char \* **ftostrf** (float \_\_val, signed char \_\_width, unsigned char \_\_prec, char \*\_\_s)\
 char \* **dtostrf** (double \_\_val, signed char \_\_width, unsigned char \_\_prec, char \*\_\_s)\
 char \* **ldtostrf** (long double \_\_val, signed char \_\_width, unsigned char \_\_prec, char \*\_\_s)\

## Author

Generated automatically by Doxygen for AVR-LibC from the source code.
