C언어 복습
선행처리기
기능
선행처리기
파일 포함
#include
매크로 정의
#define
조건부 컴파일
#if, #ifdef, #ifndef, #else, #elif, #endif
기본자료형
정수자료형
크기
char
1 byte
short
2 byte
int
4 byte
long
4 byte
실수자료형
크기
float
4 byte
double
8 byte
변수
변수란 값을 저장할 수 있는 기억공간에 붙은 이름, 혹은 기억공간 자체를 가리켜 변수라고 합니다.
변수 선언 방법
TypeName varName;
TypeName varName = value;
상수
리터럴 상수 : 이름이 없는 상수
심볼릭 상수 : 이름을 지니는 상수
심볼릭 상수를 만드는 3가지 방법
const
키워드#define
선행처리기enum
열거형
자료형 변환
묵시적(자동) 형변환
피연산자 일치하지 않을 경우 형변환이 일어나며 더 큰 범위의 값을 표현할 수 있는 자료형으로 변환된다.
명시적(강제) 형변환
(자료형) 형변환대상
이렇게 하면 자료형으로 강제 형변환이 된다.
연산자
산술연산자
연산자
설명
+
덧셈
-
뺄셈
*
곱셈
/
나눗셈
%
나머지
대입 연산자
수식
설명
l = r
r-value를 l-value에 저장
복합 대입 연산자
+=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=
증감연산자
수식
설명
++a
선 증가, 후 연산
a++
선 연산, 후 증가
--a
선 감소, 후 연산
a--
선 연산, 후 감소
관계연산자
참 거짓을 반환
수식
설명
a == b
a, b 가 같은가?
a != b
a, b 가 다른가?
a < b
a 가 b 보다 작은가?
a <= b
a 가 b 보다 작거나 같은가?
a > b
a 가 b 보다 큰가?
a >= b
a 가 b 보다 크거나 같은가?
논리 연산자
참 거짓을 반환
수식
설명
A && B
A식과 B식이 모두 참이면 참(논리곱)
A || B
A식과 B식중 하나라도 참이면 참(논리합)
!A
A식이 참이면 거짓(부정)
조건 연산자
조건식 ? 참일때 실행할 문장 : 거짓일때 실행할 문장
비트 이동 연산자
수식
설명
x << n
변수 x의 비트를 왼쪽으로 n 만큼 이동
x >> n
변수 x의 비트를 오른쪽으로 n 만큼 이동
비트단위 논리 연산자
수식
설명
x | y
논리합
x & y
논리곱
x ^ y
배타적 논리합
~x
부정
기타 연산자
연산자
사용 예
설명
,
a=10, b=20;
순차적 명령 실행
&
int* p = &a;
주소 연산자
*
a = *p;
포인터 연산자
new
int* p = new int;
동적할당
delete
delete p;
동적할당된 메모리 반환
.
obj.a
객체 맴버 접근
->
pobj->a
포인터 객체 맴버 접근
[]
arr[3];
배열 첨자 접근
()
func(10);
함수 호출
::
nameSpace::a
유효범위 결정
sizeof
sizeof(int)
자료형의 크기 반환
조건문
if
if (조건식1) {
// 조건식 1 참일때 실행
} else if(조건식2) {
// 조건식 2 참일때 실행
} else {
// 모두 거짓일때 실행
}
switch
switch(수식) {
case 값1:
// 수식이 값1 일때 실행할 문장
break;
case 값2:
// 수식이 값2 일때 실행할 문장
break;
default:
// 일치하는 수식이 없을때 실행할 문장
}
반복문
while
while(반복조건) {
// 반복 조건이 참일때 실행할 문장
}
do~while
do {
// 최소한번은 실행, 반복조건이 참이면 실행할 문장
}while(반복조건)
for
for (초기식; 조건식; 증감식) {
// 조건식이 참일때 실행할 문장
}
함수
함수의 정의
ReturnType functionName(fParameterList) // 함수의 머리(원형)
{ // 함수 몸체
// 처리할 문장...
return ReturnType; // 결과값을 반환
}
함수의 호출
functionName(aParameterList)
변수의 접근 범위
전역변수
함수 외부에 선언된 변수 어디서든 접근이 가능하다.
지역변수
함수 내에서만 접근이 가능하며 함수 종료시 제거된다.
static 지역변수
함수 내에서만 접근이 가능
함수 호출시 1회만 선언 및 초기화 된다.
함수 종료시에도 메모리에 존재한다.
배열
배열의 이름은 상수형태의 포인터 이다.
TypeName arrName[n]; // n개의 1차원 배열
TypeName arrName[n][m]; // n*m개의 2차원 배열
포인터
메모리의 주소값을 저장하기 위한 특별한 변수이다.
포인터 변수 선언
int a;
int* ptr = &a; // int* 변수 ptr에 a 변수의 주소 저장
포인터 사용
*ptr = 30; // 포인터 변수 ptr이 가리키는 주소에 30 저장
배열과 포인터
int arr[5];
int* ptr = arr;
arr[0] == ptr[0] // 동일하다
*(arr+2) = ptr[2] // 동일하다
Last updated