개인노트
다음은 입력하는 값을 누적하여 합계를 출력하는 예제이다.다음에서 사용된 전역변수 total을 static 변수로 대체하여보자.단, 대체 과정에서 main 함수의 변경은 없어야 하며 실행 결과도 동일해야 한다. #include #include "stdlib.h" int total = 0; int AddToTal(int num){total += num;return total;} int main(void){int num, i;for (i = 0; i Source.c #include #include "stdl..
[ 지역변수에 static 선언을 할 경우 ] 원래 지역변수의 특성은 다음과 같다.1. 선언된 함수 내에서만 접근이 가능하다.2. 함수 내에 선언된 지역변수는 해당 함수가 반환하면 소멸된다. 하지만 지역변수에 static이 붙게 되면 특성은 다음과 같아진다.1. 선언된 함수 내에서만 접근이 가능하다.2. 딱 1회만 초기화 되고 프로그램 종료 시까지 메모리 에 남는다. static이 붙으면 위와 같이 지역변수와 전역변수의 특성을 둘다 보유하게 된다.static변수는 접근 범위를 제한하고 프로그램이 종료될 때 까지 메모리공간에 남아있게 해준다. Source.c #include #include "stdlib.h" void simple(void){static int num1 = 0;int num2 = 0;num..
지역변수 ( Local Variable ) 1. 지역변수의 지역은 중괄호의 영역을 뜻한다.2. 중괄호 내에 선언되는 변수는 모두 지역변수라고 할 수 있다.3. 선언된 지역( 중괄호 ) 내에서만 유요한 성질을 가지고 있다.4. 해당 지역을 벗어나면 자동 소멸된다.5. 선언된 지역 내에서만 유효하기 때문에 지역이 다르면 변수 이름이 같아도 된다.6. 반복문이나 조건문에도 중괄호 안에 선언되면 지역변수로 인지된다. 전역변수 ( Global Variable ) 1. 프로그램 시작과 동시에 메모리에 할당 되며 종료시까지 존재한다.2. 초기화 하지 않으면 0으로 초기화 된다.3. 영역 어디서든 접근 가능하다.4. 전역변수와 지역변수의 이름이 같다면 전역변수대신 지역변수가 사용된다. #include #include ..