본문 바로가기

C++40

C++ 구조체 구조체 : 사용자 정의 자료형 구조체 선언방법 1 2 3 4 5 struct MyStruct { int i; float f; }; cs int형에 i변수를 선언한게 아니고 구조체내부에 i라고하는게 int타입에 이름이 되는 것 구조체 접근방법 1 2 3 4 MyStruct st; st.i = 1; st.f = 3.14; cs 내가만든 자료형인 구조체에서 st.i를 이용하면 인트로 접근할 수 있고 반대로 선언에서 f는 float형이니깐 float형으로 접근가능하다. 재정의 하는 방법 1 2 3 4 5 typedef struct MySt { int i; float f; }MYST; cs typedef : 재정의 할때 사용 1 2 typedef int INT; INT i = 0; cs 이런식으로 int자료형에 .. 2022. 5. 30.
C++ 배열 배열이란? 변수를 10번 선언할려고 해보자 int a = 1 ; int a1 =2 ; . . . int a9 = 10; 이렇게 하나하나 다 선언해주기에는 시간도 오래걸리고 귀찮아진다. 이럴 때 사용하는게 배열이다. 배열에 선언방법은 다음과 같다. int a[10] = {}; // int형의 변수a를 초기값을 0으로 해준것이다. 그러면 배열의 개별요소는 어떻게 접근하나? 내가 만약 5번째 배열에다가 5의 값을 넣고 싶다. 그럴때에는 index로 접근하면된다. a[4] = 10; // 5번째인데 왜 4라고 생각할 수 있는데 여기서는 몇번째에 개념이 아니다 index는 0부터 시작하기 때문에 4가 된다. 만약에 a[10] = 11;를 하면 에러가 난다. 이유는 배열을 10개 만들었는데 a[10]은 11번째에 .. 2022. 5. 30.
C++ 재귀함수 재귀함수 재귀함수는 함수 안에 자기 자신을 호출하는 것을 말한다. 가독성 , 구현의 용이하다. 그러면 한번 함수 안에 자기 자신을 호출해보자. Factorial 함수에 Factorial를 호출해 보았다. 그런데 오버플로라는게 발생하였다. 그 이유는 함수안에 함수를 계속 호출하여서 스택이 더 이상 쌓을 수 없어서 발생하는 것이다. 오버플로는 재귀함수를 사용할 떄 가장 나타나는 대표적인 오류이다. 그래서 재귀함수를 사용할떄에는 탈출할수 있게 해줘야한다.(if문) 재귀함수를 함수를 사용해보자 Factorial_Re(5)를 불렀습니다. if 문 5 에 안걸려서 5*Factorial_Re(4) 리턴을 할 때 함수가 또 호출이 되었기 때문에 아직 반환이 되지 않고 스택에 머뭄 그 다음에 4*Factorial_Re(.. 2022. 5. 29.
C++ 반복문 for() , while() 상황에 따라 사용한다. for()문 for( 반복자 초기화; 반복자 조건 체크 ; 반복자 변경) { //실행할 코드; } 반복자 초기화 : 반복자의 값을 초기화 해준다. 반복자 조건 체크 : 반복자의 값이 거짓이 될 때 까지 계속 실행해준다. 반복자 변경 : 반복자가 계속 같은수면 참이 되 무한으로 되기 때문에 반복자의 값을 변경해줘 거짓이 나오게 해줘 for을 종료되게 해준다. ex) 이 코드는 0~3 까지 시작해 3보다 작을 때 까지 3번 반복해주는 코드이다. a를 1씩 3번 증가 시켜 a의 값이 3인걸 확인해 볼 수 있다. while() 문 while(조건체크) { } 조건체크 : 조건 참이면 계속 실행 거짓이면 while문 종료 ex) i++을 안쓰면 무한로프가 돌 수.. 2022. 5. 27.
C++ 함수 함수 사용법 반환자료형 함수명(데이터형 인수1, 데이터형 인수2 ...) { 함수 본체 } ex) add라는 함수를 만들어보았다. 여기서 함수는 main()함수와 add()두 개의 함수가 있다. 함수는 항상 main()를 먼저 실행시킨다. 또 main()함수가 종료되면 프로그램도 종료된다. C++ 언어는 항상 main()함수를 먼저 실행시킨다. 프로그램 실행 - > main()함수 -> add()함수 실행 -> 리턴값 돌려주고 add()함수 종료 -> mian()함수 종료 ->프로그램 종료 스택 : 스택(Stack)은 "쌓다"라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조 즉 후입 선출, 선입 후출 먼저 쌓인것이 가장 늦게 빠져나간다. 스택을 왜 알아야 하나 C++를 예를 들어보자 main().. 2022. 5. 27.
C++ 5. 변수 변수 종류 1.지역변수 함수안에 선언되있는것 스택 영역에서 사용된다. 2.전역변수 함수밖에 선언되어있는것 date 영역에서 사용됨 : 프로그램 시작시 생성 , 프로그램 종료시 사라짐 3.정적변수 4.외부변수 메모리 영역 1. 스택 영역 2. 데이터 영역 3. 읽기 전용(코도, Rom) 4. 힙 영역 함수는 기능 함수가 모여서 모듈화 지역변수 출처 : https://www.youtube.com/c/AssortRockGameAcademy 어소트락 게임아카데미 언리얼엔진 4/5, DirectX11/12 자체게임엔진, 게임서버 진정한 게임프로그래머가 되고 싶다면 어소트락 게임아카데미 ASSORTROCK.COM www.youtube.com 2022. 5. 26.