잔글 (→심볼) |
잔글 (→함수) |
||
(같은 사용자의 중간 판 8개는 보이지 않습니다) | |||
161번째 줄: | 161번째 줄: | ||
== 모듈 == | == 모듈 == | ||
관련된 데이터와 함수가 모여서 만들어진 것. class하고도 비슷하다. | |||
== linkage == | == linkage == | ||
심볼의 접근 범위에 관한 것을 나타내는 용어 | |||
=== 외부 === | === 외부 === | ||
외부에서도 접근이 가능한 심볼들 | |||
=== 내부 === | === 내부 === | ||
특정 파일 내부에서만 접근이 가능한 심볼들(글로벌 함수, 글로벌 변수, 글로벌 상수 등) | |||
== 기본 문법 == | == 기본 문법 == | ||
=== 변수와 메모리 === | === 변수와 메모리 === | ||
프로그램은 데이터를 메모리에 저장하고, 불러오고, 수정한다. 변수는 메모리를 추상화 한 것이다. | |||
==== 타입 ==== | ==== 타입 ==== | ||
데이터의 종류를 타입이라고 한다. | |||
데이터 타입의 종류는 다음과 같다. | |||
* 기본 타입 | |||
** char | |||
** unsigned char | |||
** int | |||
** unsigned int | |||
** short | |||
** unsigned short | |||
** long | |||
** unsigned long | |||
** long long | |||
** unsigned long long | |||
** bool | |||
** wchar_t | |||
** float | |||
** double | |||
** long double | |||
* 사용자 정의 타입 | |||
** struct, class | |||
** union | |||
** enum | |||
** typedef | |||
** template | |||
* 유도 타입 | |||
** 레퍼런스 | |||
** 포인터 | |||
** 배열 | |||
** 함수 | |||
** 멤버 포인터 | |||
변경 속성의 종류는 다음과 같다. | |||
* const | |||
* volatile | |||
* mutable | |||
* signed | |||
* unsigned | |||
* static | |||
=== 연산자 === | === 연산자 === | ||
=== 타입 캐스팅 === | === 타입 캐스팅 === | ||
=== 조건문 === | === 흐름제어 === | ||
=== 반복문 === | |||
==== 조건문 ==== | |||
==== 반복문 ==== | |||
=== 함수 === | === 함수 === | ||
==== 표준 C 라이브러리 ==== | |||
== 디버깅 == | == 디버깅 == | ||
2015년 7월 27일 (월) 17:14 기준 최신판
API 레퍼런스처럼 기초 개념을 쉽게 참고할 수 있게 작성된 페이지이다.
키워드[편집 | 원본 편집]
+ 는 C++11에서 추가된 키워드, * 는 C++11에서 의미가 변한 키워드이다.
|
|
|
코드의 구조[편집 | 원본 편집]
파일 단위[편집 | 원본 편집]
- 소스파일: 정의부, 구현부
- 헤더파일: 선언부
- 리소스파일: 프로그램의 논리와 무관한 데이터(이미지, 영상 등등)
구역 단위[편집 | 원본 편집]
변수나 함수, 상수 등이 (메모리상에) 존재하는 범위를 구역이라고 한다.
- 파일 외부: 다른 헤더파일이나 소스파일
- 파일 내부
- 글로벌: 그 파일 전체
- 로컬: for, while, if, class, 함수 등의 블럭(
{}
) 내부 - 이름공간
문장 단위[편집 | 원본 편집]
문장의 몸체부 뒤에 ';'이 붙는 구조이다. 몸체부는 키워드, 변수, 상수, 연산자의 조합으로 이루어진다.
프로그램의 빌드과정[편집 | 원본 편집]
- 전처리
- 전처리 명령어나 매크로를 소스코드로 바꾸어준다.
- 컴파일
- 전처리 과정이 끝난 각각의 소스파일의 코드를 어셈블리 코드로 변환한다.
- 오브텍트 파일 생성
- 어셈블리 코드를 기계어로 바꾼다.
- 링크
- 여러개의 오브젝트 파일을 하나로 링크해서 실행파일로 만든다.
시점(타임)[편집 | 원본 편집]
- 컴파일타임
- 컴파일 과정 전체를 컴파일타임이라고 한다.
- 링크타임
- 링크 과정 전체를 링크타임이라고 한다. 잘 쓰이지 않는 용어이지만, 이 때 골치아픈 에러가 발생하기도 한다.
- 런타임
- 프로그램의 실행과정 전체를 런타임이라고 한다. 이 때 발생하는 에러는 치명적이다.
선언과 정의[편집 | 원본 편집]
선언은 프로그램에게 이름을 알려주기만 한다. 정의는 선언된 것의 해석을 단 하나로 단정시킨다.
전처리 명령어[편집 | 원본 편집]
조건부 컴파일[편집 | 원본 편집]
#if
#ifdef
#ifndef
#elif
#else
#endif
치환[편집 | 원본 편집]
#define
#undef
포함[편집 | 원본 편집]
#include
에러[편집 | 원본 편집]
#error
기능 지시[편집 | 원본 편집]
#pragma
_Pragma
파일 이름과 특정 줄의 정보[편집 | 원본 편집]
#line
심볼[편집 | 원본 편집]
키워드의 반대 개념이다. 이름과 같은 개념이라고 생각하면 된다.
모듈[편집 | 원본 편집]
관련된 데이터와 함수가 모여서 만들어진 것. class하고도 비슷하다.
linkage[편집 | 원본 편집]
심볼의 접근 범위에 관한 것을 나타내는 용어
외부[편집 | 원본 편집]
외부에서도 접근이 가능한 심볼들
내부[편집 | 원본 편집]
특정 파일 내부에서만 접근이 가능한 심볼들(글로벌 함수, 글로벌 변수, 글로벌 상수 등)
기본 문법[편집 | 원본 편집]
변수와 메모리[편집 | 원본 편집]
프로그램은 데이터를 메모리에 저장하고, 불러오고, 수정한다. 변수는 메모리를 추상화 한 것이다.
타입[편집 | 원본 편집]
데이터의 종류를 타입이라고 한다.
데이터 타입의 종류는 다음과 같다.
- 기본 타입
- char
- unsigned char
- int
- unsigned int
- short
- unsigned short
- long
- unsigned long
- long long
- unsigned long long
- bool
- wchar_t
- float
- double
- long double
- 사용자 정의 타입
- struct, class
- union
- enum
- typedef
- template
- 유도 타입
- 레퍼런스
- 포인터
- 배열
- 함수
- 멤버 포인터
변경 속성의 종류는 다음과 같다.
- const
- volatile
- mutable
- signed
- unsigned
- static