
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
C/C++として……
セマンティックとしては初期化は変数を作るときに値を設定して、代入文は文を実行するたびに値を設定する。
自動変数だと挙動はほとんど一緒だけど、静的変数だと全く違う。
int func1()
{
static int count=0;
return count++;
}
int func2()
{
static int count;
count=0;
return count++;
}
func1は呼び出すたびに0,1,2,...と返ってくるけど、func2は毎回0が返る。
No.4
- 回答日時:
処理系・言語などによりけりなので、一概には言えません。
Cの場合、よくある例としては、
・実は、Cでも、main() よりも前に(暗黙のうちに)動く関数があります。
初期化の場合は、そこで値がセットされます(といっても、代入と言うよりも、初期値の塊がデータ領域にコピーされる例が多い)
代入は、main() の実行などに明示されていますから、その段階で動きます。
組み込みソフトなどの場合は、初期化で設定した値がセットされていることを確認して、スタートアップ(main() よりも前に動く関数)まで正常に動いていたとか、判断ができることがあります。
・あと、当たり前と言えば、当たり前ですが、const 属性の変数は、初期化しかできません。
こんなところでしょうか。

No.3
- 回答日時:
変数の宣言と同時に初期値が設定されている場合
ディスク等の外部記憶に機械語として格納されてる時に値も入っている。
変数宣言の行と分けて2行目に代入する場合
機械語として格納されてる時には変数エリアがあるだけで値ははいってない。
初期値は代入形式にして置かないと、リユーザブルなプログラムにはならない。
同じプログラムが別の実行単位で同時に実行された場合、後から動く方は、前に動いたプログラムがセットした値を使う事になる。
これで予期しない不具合が出ます。
No.2
- 回答日時:
言語によるはずだけど, 例えば C++ だと
・初期化: 「今の値」に意味はない → 新しい値を構築すればそれでいい
・代入: 「今の値」が意味を持つ → 新しい値にする前に (必要なら) 古い値をてきせつに廃棄処分しなければならない
と完全に区別している. C ではあんまり意味がない区分だけど.
あと, ブロックスコープの静的変数では, 初期化が「最初に通った 1回だけ」生じるのに対し代入は「そこを通るたびに毎回実行される」ので全く違う動作になる (これは C でも C++ でも同じ).
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
電子書籍プレゼントキャンペーン!
最大2万円超分当たる!マンガや小説が読める電子書籍サービス『Renta!』で利用できるギフトコードプレゼント実施中!
-
C言語
C言語・C++・C#
-
[C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について
C言語・C++・C#
-
C言語で移動平均のプログラムを作りたいのですが、数値をファイルから取ってきて計算をするプログラムはど
C言語・C++・C#
-
4
プログラムの時、フローチャートはどうなりますか?図でお願いします。 int main(void) {
C言語・C++・C#
-
5
C++アンインストールの影響
C言語・C++・C#
-
6
プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし
C言語・C++・C#
-
7
プログラミング初心者です。 演算子を習い、自力で計算機を作ろうと思い、写真のようなプログラムを書きま
C言語・C++・C#
-
8
(C言語)めちゃくちゃな値になってしまいます。
C言語・C++・C#
-
9
未解決の外部シンボル _printfが関数_mainで参照されました
C言語・C++・C#
-
10
ごめんなさい。
C言語・C++・C#
-
11
C++はWindows運用に必須なのか
C言語・C++・C#
-
12
C言語について。
C言語・C++・C#
-
13
C++言語の16進数の表現についておしえてください
C言語・C++・C#
-
14
ご本について 著者は、Linuxでも、言語と、フレームワークが同じの場合、大丈夫とおもいますか?
C言語・C++・C#
-
15
コールとリンク違いについて。
C言語・C++・C#
-
16
プログラム例え話について。
C言語・C++・C#
-
17
C言語について。
C言語・C++・C#
-
18
コンピュータでいう「割り込み」とはどういう意味ですか?わかりやすく教えてほしいです。
C言語・C++・C#
-
19
C++初心者です stirng
C言語・C++・C#
-
20
絶対ち
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
C言語初心者です、、、お助けく...
-
5
C言語の質問です if(a[0]>a[1]&...
-
6
cygwinでのvim??の使い方
-
7
ステップ数について
-
8
C言語でdouble型の小数点の引き...
-
9
0除算して、落ちるプログラムと...
-
10
printf で二進表示を行いたい。
-
11
プログラムによく出てくるst...
-
12
C言語 配列の長さの上限
-
13
16進をASCIIコードに変換する...
-
14
関数から配列を返すには?
-
15
C# HttpWebRequestのエラーにつ...
-
16
外部依存関係について
-
17
Enterキーを押されたら次の処理...
-
18
<unistd.h>をVisualStudioでつ...
-
19
バッファとは何ですか
-
20
Labelコントロールに数字を代入...
おすすめ情報
公式facebook
公式twitter