静态指向内存的位置

时间:2010-09-10 04:02:28

标签: c pointers

我读过malloc()&传递的指针。 calloc()从堆中动态分配内存。

char *Name="Ann";
  1. 在这种情况下,静态字符串{'A','n','n','\ 0'}是否也存储在堆中?
  2. 我可以使用指针修改字符串吗?

1 个答案:

答案 0 :(得分:7)

  1. 不,字符串是静态分配的。 (C99,§6.4.5/ 5)
  2. 尝试修改字符串文字会产生未定义的行为。 (§6.4.5/ 6)