- global variables ——-> data
- static variables ——-> data
- constant data types —–> code and/or data. Consider string literals for a situation when a constant itself would be stored in the data segment, and references to it would be embedded in the code
- local variables(declared and defined in functions) ——–> stack
- variables declared and defined in
main
function —–> stack - pointers(ex:
char *arr
,int *arr
) ——-> data or stack, depending on the context. C lets you declare a global or astatic
pointer, in which case the pointer itself would end up in the data segment. - dynamically allocated space(using
malloc
,calloc
,realloc
) ——–> heap
It is worth mentioning that “stack” is officially called “automatic storage class”.
4
solved where in memory are this variables stored on c? [closed]