私はどのようにしてmalloc
が正確に動作するかはわかりません。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;
}
私は文字列に任命値がちょうど1文字よりも大きい、まだうまくコンパイルすると思われるので、私は出力にエラーをこれを期待。 'string' は今
を保存することになります。
は、私はいくつか質問がありますか?私は割り振られた1つのスペースの後にヒープ上のメモリ空間にありますか?なぜcharがポインタを介して直接intにintを任せるのですか?
は、私は本当に私はここに「string」は今救われるでしょう
なぜあなたは(http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc)[malloc関数の戻り値をキャスト]ですか? – PaulMcKenzie
@PaulMcKenzie私はMITのOCWコースと、これを使用したPPT例が、あなたの権利を以下のよ、これは余分な情報 – DarkInc
'*(テスト+ 1)= 6のためにかなり愚かな感謝を思わ;'あなたが書いている何範囲 –