프로그래밍 공부
작성일
2023. 2. 27. 14:54
작성자
WDmil
728x90

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을 돌려주는것을 말해준다.

\n은 줄바꿈 을 이야기 한다.


우리는 여기서 HelloWorld 말고도 숫자나 문자열을 넣어서 출력할 수 있다. 여기서 우리는 출력문을 조절할 수 있다.

출력문에서의 %d와 %s&nbsp; %f 와 같은 서식 지정자, 변환 지정자를 설정 하여 출력을 만들 수 있다.
위 코드를 출력하면 위와같은 출력문이 나오게 된다.

여기서 작성시 사용했던 \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(상수)

변하지 않는 데이터, 상수로서 데이터를 변조 참조할 수 없고 표시된 그대로의 데이터를 의미합니다.

디버깅 해보면 10과 11이 찍히는 것 을 알 수 있다.

우리는 여기서 정수를 외부가 아니라 선언 시에 초기화 할 수 있다.

int 선언 시에 20을 넣어준다.
이렇게 되면 20이 추가로 출력됨을 알 수 있다.


위와 같이 변수를 선언하지 않고 그대로 적어서 출력하게 되면

오류를 뿜뿜 함을 알 수 있다.


이것과 같이 a와 b를 저장해서 더해줄 수 있다. result라는 변수를 선언하고 변수에 변수간의 덧셈의 계산공식을 출력해보도록 하자.

각 변수를 선언하여 변수끼리 저장해주면 된다.
데이터 변수를 저장하고 사용할 수 없는 방법이 있다.
오류가 미쳐날뛰는걸 볼 수 있다.

 

728x90