#변수의 선언과 초기화
- 변수의 선언
변수란 값을 저장할 수 있는 메모리 공간의 이름, 혹은 메모리 공간 자체를 가리켜 변수라 한다.
변수라는 것을 만들면(=선언하면) 변수의 이름을 통해 값의 저장 및 참조가 가능하고, 값의 변경도 가능하다.
int nNum; //nNum이라는 이름의 변수 선언
위 코드가 곧 변수를 선언한것이다.
int (정수형 값을 저장 가능한 메모리 공간 할당 ) nNum ( 그리고 그 공간의 이름)
- 변수의 초기화
변수를 선언하여 초기화하지 않는 다면 아무 의미 없는 값이 담겨진다. 이를 '쓰레기값'이라고 말한다.
반드시 초기화해야된다는 법칙은 없지만 가급적?이라면 초기화를 반드시 해주는 것이 좋다.
1 2 3 4 5 6 7 | #include <stdio.h> void main(){ int nNum1, nNum2; printf("nNum1 = %d\n nNum2 = %d\n", nNum1, nNum2 ); } | cs |
심지어는 초기화를 안해주었을때 담긴 쓰레기 값이 int(정수형)의 범위를 넘어 초과되는 경우도 있다.
위의 소스처럼 int 형 변수 두개를 동시에 , 연산자를 통해 선언해주는 것도 가능하다.
1 2 3 4 5 6 7 8 9 10 11 | #include <stdio.h> void main(){ int nNum; //정수형int메모리 공간 할당, 그 공간의 이름은 nNum이라고 선언, 변수이다. nNum = 0; //변수 nNum을 0으로 초기화. nNum = 10; //변수 nNum을 10으로 대입. int nNum_1 = 10; //정수형 int 메모리 공간 할당, 그 공간의 이름은 nNum_1이라고 선언, 변수이며 선언과 동시에 초기화 } | cs |
만약 컴파일러가 지원하지 않는 다면 위의 소스는 컴파일 에러가 발생한다.
1999년에 발표된 C언어의 표준은 변수의 선언위치에 제한을 두고 있지 않지만 컴파일러의 종류에 따라 안되는 컴파일러도 있으니,
반드시 변수는 함수의 시작, 즉 중괄호의 앞부분에 선언하는것이 좋다.
위의 소스를 통해 5번째 라인은 선언, 2번째 라인은 초기화, 3번째 라인은 대입
그리고 9번째 라인은 선언과 동시 초기화하는 방법을 살펴보았다.