Taking baby-developer steps
2-2 변수와 상수 - 변수의 선언/초기화/기본적인 자료형/형식지정자/예약어와 식별자 본문
변수와 상수의 개념
변수(Variable)는 변할 수 있는 데이터이다. 들어가는 값이 바뀔 수 있다.
상수(Constant)는 변하지 않는 데이터이다. 한번 작성되면 바뀌지 않는다.
변수의 선언
int a; #변수 선언
int a=7; #변수 선언과 초기값 설정
변수를 선언할 때는 자료형과 변수명을 입력한다. 원하는 경우 초기값을 적용할 수 있다.(초기화 되지 않은 변수는 쓰레기 값이 들어간다) 가장 많이 사용되는 변수는 정수형(Integer) 변수이다.
변수의 초기화와 쓰레기값
#초기화 되지 않은 변수에 쓰레기 값이 들어가 오류가 출력되는 경우
#include <stdio.h>
int main(void){
int a; #초기화 되지 않은 변수 선언
printf("The number is %d.\n",a);
system("pause");
return 0;
}
초기화 되지 않은 변수는 쓰레기 값이 들어간다. Visual Studio는 기본적으로 초기화 되지 않은 변수를 감지하고 오류를 출력한다.
+정적변수(기본적으론, "main 함수 바깥쪽에 선언된 변수"라고 이해하면 된다.)로 선언된 것은 기본적으로 0으로 값이 초기화 된다. 정적변수가 아닌 수를 0으로 초기화 하려면 값을 일일이 넣어주어야 한다.(따라서, 정적변수로 선언하는게 편할때가 있다.)
#include <stdio.h>
int a; #정적변수(main 함수 바깥쪽에 선언된 변수)로 선언
int main(void){
printf("The number is %d.\n", a);
system("pause");
return 0;
}
=> output : The number is 0. (정적변수는 0으로 초기화 되기 때문)
기본적인 자료형(+형식 지정자)
printf("The number is %d.\n",a);
에서, '%d'는 형식지정자에 해당한다. 형식지정자는 값이 어디에 출력될 지를 지정하기 위해서 사용한다.
기본적인 자료형과 그에 따른 형식 지정자는 다음과 같다.
int : 일반적으로 정수형을 표현(약 -20억 ~ +20억까지)할 때 사용한다. 작은 정수도 일반적으로 int형을 사용한다. 4바이트(4B)만큼 메모리 공간을 차지한다.
long long : 천억, 조 단위 같이 Int형 보다 큰 정수형을 표현할 때 사용한다. 총 8바이트(8B)만큼의 메모리 공간을 차지한다.
double : 일반적인 실수형을 표현할 때 사용한다.
string : 문자열을 표현할 때 사용한다. 기본(전통)적인 C언어의 문법엔 포함되지 않는다(C++)에서 공부할 내용이다.
bool : 참/거짓을 표현할 때 사용한다. 1bit(1비트)만큼의 공간밖에 차지하지 않는다. [참고: 1B = 8bit]
char : 한 문자를 표현할 대 사용한다. 1B(=8bit)만큼의 메모리 공간을 차지한다.
+즉,char형은 bool형에 비해 8배 더 넓은 공간을 논리적으로 표현 할 수 있다.
-> 실제로 메모리 공간을 차지하는 영역은, 프로그래밍 언어나 프로그래밍 실행환경에 따라 조금씩 차이가 있을 수 있음에 유의하자.
예약어와 식별자
식별자(identifier)란 변수나 함수 등의 고유한 이름을 지정할 때 사용한다.
이때, C언어 문법으로 정해진 예약어(기본적인 자료형들도 포함됨)는 식별자로 사용할 수 없다.
ex) string, for, void, bool, if, while, char, return, double 등
'CS 지식 > C언어_basic' 카테고리의 다른 글
3. 기본 입출력 - Scanf()/&(앰퍼샌드)/주소연산자/형식지정자 (0) | 2021.03.18 |
---|---|
2-3. 변수와 상수 - 정수의 표현 방법/부호절대값 방식/2의 보수 방식/실수의 표현 방법 (0) | 2021.03.17 |
2-1. 변수와 상수-Hello World! (0) | 2021.03.16 |
1. 프로그래밍 개발환경 구축하기 (0) | 2021.03.16 |
0. C언어 basic (0) | 2021.03.16 |