상수
상수: 항상 고정된 값을 갖는 자료 (프로그램 실행 도중 값 변경 불가
정수형 상수
- 10진 상수: 0~9까지의 숫자 사용 (0으로 시작 불가)
- 8진 상수: 0~7까지의 숫자 사용. 숫자 앞에 0
- 16진 상수: 0~9, A~F 사용. 숫자 앞에 0x
- unsigned형: 부호 없는 상수 표현. 숫자 뒤에 U나 u
- long형: 큰 길이의 정수. 숫자 뒤에 L이나 l
실수형 상수 (부동소수점형 상수): 기본 자료형은 double
- 지수 형식: 10진수와 e, E 사용 (ex. 7e-2 = 0.07, 4E3 = 4000)
- float형: 숫자 뒤에 f나 F
- long double형: 숫자 뒤에 l이나 L
문자형 상수
- single quote(' ')로 묶여 있음
- 1개의 영문자나 숫자 문자
+) escape 문자
- \a: alert
- \b: back space
- \f: form feed (새 페이지)
- \r: carriage return (커서를 행 시작으로)
- \n: new line
- \t: horizontal tab
- \0: null (ASCII코드가 0)
문자열 상수
- double quote(" ")로 묶여 있음
- 여러 개의 영문자나 숫자
- 메모리에 저장될 때 문자열 끝에 null(\0) 저장 (ex. KIM은 4자리 공간)
변수
변수: 프로그램 실행 중 변할 수 있는 값 저장
- 모든 변수는 정해진 이름과 자료형, 할당된 값을 갖는다.
- 모든 변수는 사용되기 전에 선언되어야 한다.
- 변수명은 영문자, _로 시작 (_ 이외의 특수문자 중간에도 사용 불가), 대소문자 구별
기억공간에 공간을 확보하기 위해서는 변수 선언이 필요하다
변수 선언을 할 때 앞에 자료형이 필요 (ex. int i)
전역 변수: 프로그램이 실행되는 동안 항상 기억공간에 존재 (0으로 자동 초기화)
지역 변수: 함수 호출 시 생성, 함수 종료 시 소멸 (자동 초기화 없음)
변수 선언: 변수를 위한 기억공간 할당
변수 초기화: 처음에 어떤 값을 부여하는 것 (초기화가 되었느냐 = 값이 부여되었느냐)
값의 범위 주의하기
short int n1, n2;
n1 = 32767 + 1; // -32768
n2 = -32768 - 1 // 32767
자료형
정수 자료형의 표현 범위
short short int signed short signed short int |
-32768 ~ 32767 | 2byte |
unsigned short unsigned short int |
0 ~ 65535 | 2byte |
int signed int |
-2,147,483,648 ~ 2,147,483,647 | 4byte |
unsigned unsigned int |
0 ~ 4,294,967,295 (40억~) | 4byte |
long long int signed long signed long int |
-2,147,483,648 ~ 2,147,483,647 (20억) | 4byte |
unsigned long unsigned long int |
0 ~ 4,294,967,295 | 4byte |
long long long long int signed long long int |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 (900경) | 8byte |
unsigned long long unsigned long long int |
0 ~ 18446744073709551615 | 8byte |
signed: 부호 있는 정수
다른 키워드와 같이 사용할 때 int 생략 가능
IEEE float형 부동 소수점 방식
32비트: 부호(1) + 지수부(8) + 가수부(23)
IEEE double형 부동 소수점 방식
64비트: 부호(1) + 지수부(11) + 가수부(52)
열거형 (자주 쓰이지는 않음)
- 숫자 대신 단어 사용 > 효율적인 프로그래밍 가능
- 디폴트값: 처음 것은 0, 이후 1씩 증가하는 형태
- 처음 값을 정의하면 그 다음은 1씩 자동으로 증가함
선행처리기
선행처리기: 컴파일 명령을 내렸을 때 컴파일에 앞서 프로그램 앞에 선언된 지시자 먼저 처리
- 끝에 세미콜론 붙이지 않는다
종류
- #include: 파일 포함
- #define: 매크로 정의
- #if, #else, #elif, #endif: 조건부 컴파일
표준 헤더 파일 종류
- ctype.h: 문자 검사
- math.h: 수학 함수
- stdlib.h: 문자열 변환, 기억공간 할당
- stdio.h: 표준입출력함수
- string.h: 문자열 관련
- time.h: 시간 관련
매크로 함수의 장점
- 전달 인자 자료형 명시 필요 없음
- 단순 치환 방식 → 빠른 속도 가능
'TIL > C' 카테고리의 다른 글
[C언어] 표준입출력함수, 연산자 (1) | 2024.04.02 |
---|---|
C언어란? (0) | 2024.03.12 |