C言語7
n.関数
変数の範囲
ゾーン変数
同名であっても、他の地域({}
)に属する関数であれば、独立した別の変数である.ゾーン({}
)が終了すると、スタックメモリから消えます.スタックメモリによって管理され、FILO
の性質を有する.
グローバル変数
プログラムが起動すると、グローバル変数はメモリに格納され、プログラムが終了すると、グローバル変数はメモリから消えます.グローバル変数はスタックメモリではなくデータメモリによって管理されます.
せいてきへんすう
カッコ領域で宣言された変数(領域変数など)は、メモリに固定されており、カッコを超えても消えません.領域変数とグローバル変数のプロパティがあります.//1
#include <stdio.h>
void func(void);
int main(void)
{
int i = 0;
while(i < 5)
{
func();
i++;
}
return 0;
}
void func(void)
{
int value = 0;
value++;
printf("%d번\n", value);
}
1번
1번
1번
1번
1번
//2
#include <stdio.h>
void func(void);
int main(void)
{
int i = 0;
while(i < 5)
{
func();
i++;
}
return 0;
}
void func(void)
{
static int value = 0;
value++;
printf("%d번\n", value);
}
1번
2번
3번
4번
5번
1番コードについては、func(void)
関数内で宣言されたvalue
変数は、関数が呼び出されるたびに初期化され、呼び出されるたびに消失するが、2番コードでstatic int
と宣言されたvalue
は、関数が終了するたびに消失しない.
グローバル変数とは異なり、static
と宣言された変数は依然として存在し、メモリを保持しているが、他の関数(他のカッコ内)では使用できない.
整列
基本
int a[100];
배열타입 배열이름[배열길이];
配列の長さは定数として宣言する必要があります.int size = 5;
int array[size]; // 컴파일 오류 발생
アレイに学生のスコアを入力し、合計スコアと平均スコアを出力する例#include <stdio.h>
int main()
{
int students[3];
int size_std = sizeof(students) / sizeof(int);
int i, sum = 0;
for(i = 0; i < size_std; i++)
{
printf("%d 번째 학생의 점수를 입력하세요 : ", i + 1);
scanf("%d", &students[i]);
sum += students[i];
}
printf("총점 : %d\n", sum);
printf("평균 : %d\n", sum / size_std);
}
イニシアチブの初期化
初期値の個数が
//1
#include <stdio.h>
void func(void);
int main(void)
{
int i = 0;
while(i < 5)
{
func();
i++;
}
return 0;
}
void func(void)
{
int value = 0;
value++;
printf("%d번\n", value);
}
1번
1번
1번
1번
1번
//2
#include <stdio.h>
void func(void);
int main(void)
{
int i = 0;
while(i < 5)
{
func();
i++;
}
return 0;
}
void func(void)
{
static int value = 0;
value++;
printf("%d번\n", value);
}
1번
2번
3번
4번
5번
基本
int a[100];
배열타입 배열이름[배열길이];
配列の長さは定数として宣言する必要があります.int size = 5;
int array[size]; // 컴파일 오류 발생
アレイに学生のスコアを入力し、合計スコアと平均スコアを出力する例#include <stdio.h>
int main()
{
int students[3];
int size_std = sizeof(students) / sizeof(int);
int i, sum = 0;
for(i = 0; i < size_std; i++)
{
printf("%d 번째 학생의 점수를 입력하세요 : ", i + 1);
scanf("%d", &students[i]);
sum += students[i];
}
printf("총점 : %d\n", sum);
printf("평균 : %d\n", sum / size_std);
}
イニシアチブの初期化
初期値の個数が
int arr[] = {1, 2, 3, 4, 5}
Reference
この問題について(C言語7), 我々は、より多くの情報をここで見つけました https://velog.io/@gimmicks_/c7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol