記事のディレクトリ
1.変数の分類
1.1ローカル変数
一時変数とも呼ばれ、関数とコードブロックで定義され、通常はコードブロック内で使用できる変数のみです。
1.2グローバル変数
関数の外部に配置され(メイン関数も関数です)、同じ___。cファイル内のどこでも使用できる変数。
1.3知識のポイント
1.3.1近接の原則
ローカル変数とグローバル変数は同じ名前です->近接の原則。
グローバル変数とローカル変数の名前が同じ場合は、使用場所に近い変数が優先されます。
(同じ名前の変数を使用することはお勧めしません)
#include <stdio.h>
int global = 2020;//全局变量
int main()
{
int local = 2021;//局部变量
int global = 2022;//局部变量
printf("global = %d\n", global);
return 0;
}
1.3.2アクセスルール
グローバル変数はどの関数でも直接アクセスできますが、ローカル変数はこの関数でのみアクセスできます。
#include <stdio.h>
double weight = 45.5;//全局变量
void fun()
{
printf("%f\n", weight);
printf("%f\n", high);//error!
}
int main()
{
double high = 180.5;//局部变量
printf("%f\n", weight);
printf("%f\n", high);
fun();
return 0;
}
1.3.3有効範囲
C言語の変数は、変数が定義された領域以降でのみ有効です(マクロと同様)。
#include <stdio.h>
int main()
{
printf("%f\n", weight);//error!
}
return 0;
}
double weight = 45.5;
2.変数の使用
(1)変数は使用前に定義されます。
(2)入力および出力フォーマット制御に注意し、scanfに&を追加することを忘れないでください。
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
3.変数の範囲とライフサイクル
3.1範囲
変数の有効範囲を指します。
3.1.1ローカル変数のスコープ
変数のローカルスコープです。
3.1.2グローバル変数のスコープ
それはプロジェクト全体です。
3.2ライフサイクル
変数の作成から変数の破棄までの期間(つまり、変数の存在時間)を指します。
3.2.1ローカル変数のライフサイクル
これは、スコープに入るライフサイクルの始まりであり、スコープ外のライフサイクルの終わりです。
この変数は、関数が呼び出されたときに解放されます。
(関数の呼び出しで形成され、関数のリリースでリリースされます。)
3.2.2グローバル変数のライフサイクル
これは、プログラム全体のライフサイクルです。
プログラムの実行後、プログラムが終了するまで存在します。
(プログラムの存在とともに存在し、プログラムの終了時にリリースします。)