重複の可能性:
C 文字列リテラル: どこに行くの?
私の知る限りでは、
一般に、ポインターは malloc() によって割り当てられる必要があり、ヒープに割り当てられ、次に free() によって割り当て解除されます。
と
非ポインター (int、char、float など) は自動的にスタックに割り当てられ、関数が戻るまでは割り当てられません。
しかし、次のコードから:
#include <stdio.h>
int main()
{
char *a;
a = "tesaja";
return 0;
}
どこにa
割り当てられますか? スタックまたはヒープ?