AVR-LibC  2.2.0
Standard C library for AVR-GCC
 

AVR-LibC Documentation

Logo

AVR-LibC Development Pages

Main Page

User Manual

Library Reference

FAQ

Example Projects

File List

Loading...
Searching...
No Matches
Functions
<alloca.h>: Allocate space in the stack

Functions

void * alloca (size_t __size)
 

Detailed Description

Function Documentation

◆ alloca()

void * alloca ( size_t  __size)

Allocate __size bytes of space in the stack frame of the caller.

This temporary space is automatically freed when the function that called alloca() returns to its caller. AVR-LibC defines the alloca() as a macro, which is translated into the inlined __builtin_alloca() function. The fact that the code is inlined, means that it is impossible to take the address of this function, or to change its behaviour by linking with a different library.

Returns
alloca() returns a pointer to the beginning of the allocated space. If the allocation causes stack overflow, program behaviour is undefined.
Warning
Avoid use alloca() inside the list of arguments of a function call.