1일차 OT [ 소개부터 공부 과정, C 기초 도입부 ]
C언어 -> C++ 진행 예정 -> Direct X 작업 2D 작업과정 공부함.
6개월 후에 언리얼 엔진 -> Directx 3D 다루게 됨.
2D는 기반을 공부하는 과정이다.
기본 컴퓨터 구조
CPU (중앙처리장치)
HDD (저장장치) - ( 비휘발성 저장장치 )
RAM (임의접근저장장치) - (휘발성 저장장치)
여기서 사람이 코드를 입력하고, 사람의 언어를 알아들을 수 없기 때문에 기계어를 넣어주어야함.
사람은 기계어를 알아들을 수 없기 때문에 컴퓨터 코드를 입력하여 번역하여 작업을 지시해주어야 한다.
사람 ----> 컴파일(어셈블리) ----> 컴퓨터
이러한 컴파일을 위한 플렛폼( 개발환경 ) [ 비주얼 스튜디오, 비주얼 코드 ] 사용한다.
우리는 비주얼스튜디오 를 사용하여 C 작업을 시작할 것 이다.
간단한 HelloWorld 를 출력하는 코드를 작성하는 것 부터 시작한다.
위와 같은 코드를 출력하게 되면
정리하면, int main문을 실행하고 return 0 을 돌려주면서 코드를 종료한다. 라는 뜻 이다.
만약 오류가 나온다면 디버그 콘솔에서 오류가 출력되어 오류가 나왔다고 알 수 있고, 밑 하단의
출력문에서 오류구문이 나와서 디버깅을 할 수 있다.
위의 방법을 사용하여 출력문을 넣어보자.
HelloWorld 라는 문구를 출력하라는 printf라는 코드를 삽입하였다.
위와 같은 Hello, World. 문구를 출력 해준다. 여기서 \n이 의미하는 것은, 줄바꿈 이다.
코드를 하나하나 정확하게 뜯어보자.
#include <stdio.h> 라고 하는 것 은, stdio.h 라는 코드 뭉치를 이 코드 안에 컴파일 시켜라 라는 것 을 이야기한다.
int main문은 코드 전체의 시작. 모든 코드는 main문으로부터 시작되고 끝나게 된다. 그럼으로 코드 본문을 이야기 한다.
print문은 작업을 하는 main문안에 작성되어 있다. 즉, 여기서는 Hello, Wold!를 출력하라 라고 써져있다고 해석한다.
return 0; 는 위 main문이 종료되었을 때 0을 돌려준다는 말 이다. 반환값으로 메인함수가 종료될 때 main함수를 호출한 코드에 0을 돌려주는것을 말해준다.
우리는 여기서 HelloWorld 말고도 숫자나 문자열을 넣어서 출력할 수 있다. 여기서 우리는 출력문을 조절할 수 있다.
여기서 작성시 사용했던 \n같은 이스케이프 시퀸스는 각각 이와 같다.
이스케이프 시퀸스 | 의미 |
\a | 경고(alert) ( 경고소리 울림 ) |
\n | 줄바꿈(new line) |
\t | 수평 탭(horizontal tab) |
\v | 수직 탭(vertical tab) |
\b | 백스페이스(backspace) |
\f | 폼 피드(form feed) |
\r | 캐리지 리턴(carriage return) |
\\ | 백슬래시(\, backslash) |
\' | 작은 따옴표(', single quotes) |
\" | 큰 따옴표(",double quotes) |
\ooo | 8진수 숫자를 사용하여 ASCll 코드의 문자 표현 |
\xhh | 16진수 숫자를 상요하여 ASCll 코드의 문자 표현 |
Format specifier 는 %d와 같은 문자열, 정수형, 실수형 등 의 데이터를 저장하고 표기하는데 사용한다.
포멧 시퀸스 | 의미 |
%s | 문자열 |
%c | 문자 1개 |
%d | +-부호 있는 정수 |
%u | +-부호 없는 정수 |
%f | 실수 |
%0.3f | 실수( 소수점 3자리까지 ) |
%X | 16진수 대문자로 |
%x | 16진수 소문자로 |
%02X | 16진수 대문자로, 2자리 헥사에서, 앞의 빈칸 있으면 0으로 채움 |
변수와 실수의 차이점.[ 변수 와 실수 데이터 입력 ]
데이터 메모리 공간
Variable ( 변수 )
변할 수 있는 데이터 ( 데이터의 int a 등 a를 변수로 선언 ) 하여 데이터를 선언하여 데이터 저장공간을 어떠한 방식으로 사용한다고 선언하는 것을 이야기 합니다.
Constant(상수)
변하지 않는 데이터, 상수로서 데이터를 변조 참조할 수 없고 표시된 그대로의 데이터를 의미합니다.
우리는 여기서 정수를 외부가 아니라 선언 시에 초기화 할 수 있다.
위와 같이 변수를 선언하지 않고 그대로 적어서 출력하게 되면
이것과 같이 a와 b를 저장해서 더해줄 수 있다. result라는 변수를 선언하고 변수에 변수간의 덧셈의 계산공식을 출력해보도록 하자.