C 언어 학습에 핵심. 변수와 상수

언어로그/C/C++ 2011. 2. 22. 11:18


 

C언어를 학습하는데 있어서 중요한 요소는 

  • 운영체제에게 어떻게 메모리를 확보해서 쓸 것인가?
  • 프로그램을 어떻게 효율적으로 작성할 것인가?
  • 어떻게 파일을 모듈화 할 것인가?

 

C언어는 빠른 실행속도를 장점으로 하는 언어이다. java 언어와 같은 객체지향 언어는 그 나름대로의
장점을 가지고 있지만,  낮은 성능과 제약된 자원을 갖는 시스템 혹은 빠른 속도를 필요로 하는 프로그램에

적합한 언어이다. 직접적으로 메모리에 접근할 수 있기 때문에 빠른 속도를 낼 수 있는 만큼, 메모리를 얼마나

잘 다루느냐가 C언어 프로그래밍의 중요한 화두이다.  효율적인 프로그래밍은 C언어 자체뿐 아니 컴퓨터에 대한

구조를 정확히 이해하고 있을 때 이루어질 수 있다.  효율적인 프로그램을 작성하는 것 만큼, 중요한 것이

어떻게 구조적으로 프로그램을 작성하는냐 이다. 요즘과 같은 규모가 대형화된 프로젝트에서는 프로그램에 대한

복잡도 감소와 관리를 용이하게 하는 것이 비용 절감에 중요한 요소이다. 

 

 

변수의 선언 , 상수?

변수란 프로그램에서 사용할 데이터를 담을 메모리 혹은 그릇을 의미하며, 변수를 선언한다는 것은 

이러한 메모리를 생성한다는 것을 의미한다.  변수 의미 자체는 '변하는 수' 로 이 메모리는 운영체제의 의해

할당되지만, 사용은 사용자가 하기 때문에 그 데이터가 변할 수 있다. 반면 상수는 운영체제가 메모리에 대한 

제어권을 가지고 있어서 사용자에 의해 변경될 수 없는 메모리 혹은 데이터를 의미한다.  

 

int a;

다음과 같은 문장은 정수형 데이터를 저장할 수 있는 4바이트의 메모리 공간을 할당하고, 그 메모리 공간을
a 라는 이름으로 접근하겠다고 운영체제에 말하는 것이다.

 

변수의 타입

변수의 타입에는 정수형, 실수형,  문자형 등... 다양한 타입들이 존재한다. 하지만 운영체제 입장에서 이것들은

수치값을 저장할 수 있는  크기가 다른 메모리 블럭에 해당할 뿐이다.  프로그래머들이 좀더 용이하게 프로그램을 작성할 수 있게

실세계에서 다루는 데이터의 유형을 나누고, 크기를 부여하고, 다르게 해석하도록 컴파일러에게 장치를 한 것이다. 

 

 

변환코드

char ch = 'A';
printf("%d %c", ch, ch);

위의 문장을 실행하면  65  'A' 라는 결과가 나온다. 

먼저 char 형은 문자를 저장하기 위한 1바이트 크기의 데이터 타입이다. 자주 사용하는 문자들의 표를 구성하고, 각 문자에 해당
하는 숫자(ASCII 코드)를 부여했다.   char 형은 사실 작은 범위를 수를 저장할 수 있는 정수형과 다름이 없다.

%d , %c는 변환코드라 부르며, 우측에 일치하는 쌍의 값이 어떻게 해석되야 하는지를 나타낸다. %d를 decimal, %c는 character를 

의미하며 이 변환코드에 의해 'A' 라는 값이 65라는 정수(아스키값)로 혹은 문자 'A'로 해석이 되었다. 


 

 





'언어로그 > C/C++' 카테고리의 다른 글

표준입출력함수 printf() / scanf()  (0) 2011.02.22
음수의 표현  (0) 2011.02.22
C 언어 학습에 핵심. 변수와 상수  (0) 2011.02.22
C 프로그램 실행과정  (0) 2011.02.22
C 언어란?  (0) 2011.02.22
비트필드  (0) 2010.12.10