.TH "alloca" 3avr "Fri Nov 24 2023 23:59:10" "Version 2.0.0" "avr-libc" \" -*- nroff -*- .ad l .nh .SH NAME alloca \- : Allocate space in the stack .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "void * \fBalloca\fP (size_t __size)" .br .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "void * alloca (size_t __size)\fC [extern]\fP" .PP Allocate \fI__size\fP 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 \fC__builtin_alloca()\fP 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\&. .PP \fBReturns\fP .RS 4 alloca() returns a pointer to the beginning of the allocated space\&. If the allocation causes stack overflow, program behaviour is undefined\&. .RE .PP \fBWarning\fP .RS 4 Avoid use alloca() inside the list of arguments of a function call\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for avr-libc from the source code\&.