私はCの新作ですので、間違いを修正してください。C構造体の割り当て?
ここでのソートの私は
//typdef stuff for apple, *apple_t here
apple_t get() {
apple a;
a.num = 0;
apple_t ap = &a;
printf("set num to %d\n", ap->num);
return ap;
}
// ap above is placed into read(ap)
void read(apple_t ap) {
printf("num: %d\n", ap->num);
}
なぜそれが「設定」プリントAP-> NUM == 0のためということですが、私は、読み取り機能 でのprintfを行うときに持っているコードのようなものだいくつかのコードがあります私は-1218550893のようないくつかの迷惑電話番号を取得しますか?どうしたの?整数セットは解放されていますか? Cは何をしていますか?そしてこれをどのように修正しますか?
Cでよく知られている間違いであるローカル変数*のアドレスを返しています。 – Jon
あなたのコードには[ダングリングポインタ]があります(http://stackoverflow.com/questions/5278859/c-dangling -pointer-question)。 –
[ローカル変数のメモリをそのスコープ外にアクセスできるかどうか]の複製が可能ですか?(http://stackoverflow.com/questions/6441218/can-a-local-variables-memory-be-accessed-outside-its-scope) – Jon