Возможный дубликат:
Строковые литералы C: где они идут?
Насколько я знаю,
как правило, указатель должен выделяться функцией malloc () и выделяться в куче, а затем не выделяться функцией free ();
и
не указатель (int, char, float и т. д.) будет автоматически размещен в стеке и нераспределен до тех пор, пока функция перейдет к возврату
но из следующего кода:
#include <stdio.h>
int main()
{
char *a;
a = "tesaja";
return 0;
}
куда будет выделено a
? стек или куча?