我不太確定我得到如何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;'寫出界 –