C 언어
이 자습서에서는 지역 및 전역 변수의 범위와 수명에 대해 배웁니다. 또한 정적 및 레지스터 변수에 대해 학습합니다.
C 프로그래밍의 모든 변수에는 유형과 저장 클래스라는 두 가지 속성이 있습니다.
유형은 변수의 데이터 유형을 나타냅니다. 그리고 스토리지 클래스는 변수의 범위, 가시성 및 수명을 결정합니다.
4가지 유형의 스토리지 클래스가 있습니다.
블록 내부에 선언된 변수는 자동 또는 로컬 변수입니다. 지역 변수는 선언된 블록 내부에만 존재합니다.
예를 들어보겠습니다.
#include <stdio.h>
int main(void) {
for (int i = 0; i < 5; ++i) {
printf("C programming");
}
// Error: i is not declared at this point
printf("%d", i);
return 0;
}
위의 프로그램을 실행하면
undeclared identifier i
오류가 발생합니다. . i 때문입니다. for
내부에 선언됩니다. 루프 블록. 블록 외부에서는 선언되지 않습니다.
다른 예를 들어보겠습니다.
int main() {
int n1; // n1 is a local variable to main()
}
void func() {
int n2; // n2 is a local variable to func()
}
위의 예에서 n1 main()
에 로컬입니다. 및 n2 func()
에 로컬입니다. .
즉, n1에 액세스할 수 없습니다. func()
내부의 변수 main()
내부에만 존재하므로 . 마찬가지로 n2에 액세스할 수 없습니다. main()
내부의 변수 func()
내부에만 존재하므로 .
모든 함수 외부에서 선언된 변수를 외부 또는 전역 변수라고 합니다. 프로그램 내의 모든 기능에서 액세스할 수 있습니다.
<시간>
#include <stdio.h>
void display();
int n = 5; // global variable
int main()
{
++n;
display();
return 0;
}
void display()
{
++n;
printf("n = %d", n);
}
출력
n = 7
전역 변수가 file1
에 선언되어 있다고 가정합니다. . 다른 파일 file2
에서 해당 변수를 사용하려고 하면 , 컴파일러는 불평할 것입니다. 이 문제를 해결하려면 키워드 extern
file2
에서 사용됩니다. 외부 변수가 다른 파일에 선언되었음을 나타냅니다.
register
키워드는 레지스터 변수를 선언하는 데 사용됩니다. 레지스터 변수는 지역 변수보다 빠를 것으로 예상되었습니다.
그러나 최신 컴파일러는 코드 최적화에 매우 능숙하며 레지스터 변수를 사용하면 프로그램이 더 빨라질 가능성이 거의 없습니다.
주어진 애플리케이션에 대해 코드를 최적화하는 방법을 알고 있는 임베디드 시스템에서 작업하지 않는 한 레지스터 변수를 사용하지 않습니다.
<시간>
정적 변수는 static
을 사용하여 선언됩니다. 예어. 예를 들어;
static int i;
정적 변수의 값은 프로그램이 끝날 때까지 유지됩니다.
<시간>
#include <stdio.h>
void display();
int main()
{
display();
display();
}
void display()
{
static int c = 1;
c += 5;
printf("%d ",c);
}
출력
6 11
첫 번째 함수 호출 중에 c 값 1로 초기화됩니다. 값이 5 증가합니다. 이제 c의 값이 화면에 인쇄되는 6입니다.
두 번째 함수 호출 중에 c 다시 1로 초기화되지 않습니다. c 때문입니다. 정적 변수입니다. 값 c 5만큼 증가합니다. 이제 값은 11이 되고 화면에 인쇄됩니다.
C 언어
C# 변수 변수는 다양한 데이터 유형의 값을 저장하는 데 사용되는 저장 영역에 지정된 이름입니다. C#의 각 변수에는 변수 메모리의 크기와 레이아웃을 결정하는 특정 유형이 있어야 합니다. 예를 들어, 변수는 문자열 유형일 수 있습니다. 즉, 문자열 값을 저장하는 데 사용됩니다. 데이터 유형에 따라 변수에 대해 특정 작업을 수행할 수 있습니다. 예를 들어 정수 변수가 있는 경우 해당 변수에 대해 더하기 및 빼기와 같은 연산을 수행할 수 있습니다. 프로그램에서 여러 변수를 선언할 수 있습니다. 서로 다른 데이터 유형의 여러 변수
C의 스토리지 클래스란 무엇입니까? 스토리지 클래스는 변수의 가시성과 위치를 나타냅니다. 코드의 어느 부분에서 변수에 액세스할 수 있는지 알려줍니다. C의 스토리지 클래스는 다음을 설명하는 데 사용됩니다. 변수 범위. 변수가 저장될 위치입니다. 변수의 초기화된 값입니다. 변수의 수명. 누가 변수에 액세스할 수 있나요? 따라서 스토리지 클래스는 변수에 대한 정보를 나타내는 데 사용됩니다. 참고:변수는 데이터 유형, 해당 값뿐만 아니라 스토리지 클래스와도 연관됩니다. 표준 스토리지 클래스에는 총 4가지 유형이 있습니다. 아래