Kazukiの同人3DRPG制作【第一話】
■ このスレッドは過去ログ倉庫に格納されています
0227名前は開発中のものです。
2010/09/14(火) 15:38:18ID:XWdrVcFF普段なら適当なこと言っても困るのは本人だし、突っ込んでる人も遊び半分だからいいけど
言語解説とかは困るのは参考にした初心者の人だからマジで
int main(void){
int a,b;
{
b=0;
a=50*(b+10);
printf("%d,",a);
}
printf("%d,\n",a);
return 0;
}
> このようなコードを書いた場合、ローカル変数は関数を抜けた時に解放されるため、
> aとbの領域は空っぽの状態にリセットされます。
実行結果が「500,500」になりました。値生きてます。
話の流れ的にここは「関数」というよか「ブロック」じゃないの?
a=50*(b+10);
> 10の変数(数値)をbの領域に代入します。
> この時点では、aの領域は空っぽです。
10は変数なの?+は代入の機能持ってんの?変数bのメモリ領域に10が入ってるけどどうしてくれんのこれ?
あと初期化についてだけど
僕の環境では初期化しないとコンパイルの時に警告 演算に使用とすると強制終了。
でもリリースではコンパイル警告後 演算は通った。
初期化しない状態では2015115236が入ってた。
偶然でた値なのか決まってる値なのかは別として、これを値として扱える以上は空っぽではないんじゃないの?
初心者なめすぎじゃね?初心者でもこの程度は気になるほどには賢い人は賢いよ
■ このスレッドは過去ログ倉庫に格納されています