我不太确定我得到如何malloc
完全工作。mallocing字符串在C
#include <stdio.h>
#include <stdlib.h>
int main() {
char * string = (char*) malloc(sizeof(char));
string = "abc";
int * test = (int*) malloc(1 * sizeof(int));
*(test) = 5;
*(test + 1) = 6;
}
我预计到输出错误,因为我指定字符串的值是不是只有一个字符更大但似乎编译就好了。
我有几个问题:
会在哪里 '串' 现在得救?它是在我分配的一个空间后堆上的内存空间吗?
为什么字符让我直接指定int只能通过指针?
我真的不知道我在做什么这里
为什么你[铸造的malloc的返回值(http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc)? – PaulMcKenzie
@PaulMcKenzie我跟随MIT开放课程和所使用的PPT例如这一点,但您的权利,这似乎非常愚蠢的,感谢您的额外信息 – DarkInc
'*(测试+ 1)= 6;'写出界 –