분류 전체보기(227)
-
어둠 공격 2022.11.27
-
포인터 변수 / 포인터 배열
포인터 변수 주소를 가리키는 변수 자료형의 의미: 해당 포인터에게 전달된 주소를 해석하는 단위 포인터는 자료형옆에 * 를 붙여서 사용한다 이때 변수의 자료형에 따라서 포인터도 같은 자료형으로 따라간다. 포인터 변수의 크기: 32bit 운영체제 4Byte / 64bit 운영체제 8Byte 이다 32bit 운영체제 : 4Byte의 데이터를 한번에 처리할 수 있기 때문에 램을 4GB 이상 사용해도 의미가 없다. //주소의 단위 1byte = 8bit 실수가 아닌 정수타입 비트단위로 주소를 보유할 수 없다 질문: 100~102는 몇바이트? >> 2바이트의 여유공간이 있다. pint =+ 1; 의 의미는 무엇일까? pint 는 int*변수이기 때문에 , 가리키는 곳을 int로 해석한다 따라서 주소값을 1 증가하는..
2022.11.27 -
변수
지역변수 지역변수는 중괄호 내부, 함수의 매개변수에서 사용되는 변수를 의미한다. 중괄호 밖, 함수의 밖에선 그 효력을 발휘할 수 없다 main 함수내에 선언된 local_a 는 지역함수로 main함수 내에서는 존재하지만 main 함수 외부에서는 찾을 수 없다. 전역변수 지역변수와 반대로, 중괄호 외부에 선언되는 변수이다 전역이라는 이름 그대로 어느 지역에서든 참조해서 사용할 수 있다. 정적변수 선언 방법 static 의미 : c++에서는 움직이지 않는다는 의미 선언된 곳에서만 존재한다.\ 함수 안에서 선언되지않고 cpp파일내에서 선언됨 함수안에서 선언한 정적변수는 함수가 호출될때마다 값이 대입되는것이 아닌 함수안에서 적용되는 정적변수를 만든다 함수안에서 선언되어 함수 밖으로 나갈 수 없다. 데이터영역에 ..
2022.11.26 -
변수 / 분할구현
Data 영역 메인함수 밖에서 사용하는 메모리영역 특징으로는 프록그램 시작시 생성 종료시 해제된다. 분할구현 헤더랑 파일을 구현 해더파일을 생성하고 함수를 선언한다. 다음 cpp파일을 생성하고 아까 구현하지않은 함수를 구현한다. #include "func.h" 로 해더파일을 불러오는데 이 방법은 복사 붙여넣기이다. 이런 방법으로 분할구현을 하였다. 분할구현을 하는이유? 코드를 손쉽게 관리할 수 있기 때문이다. 분할 구현을 하지않으면 현재 공부하는 내용에서는 코드가 복잡하지 않고 짧지만 실제로 게임구현할때는 한개의 파일에 모든 기능을 집어넣으면 복잡하고 가독성이 좋지않고 구현해둔 함수를 사용할때에도 분할구현을 해두면 편리하게 헤더참조를 통해서 사용할 수 있기 때문이다. * 하지만 하나의 파일에서 모든기능을..
2022.11.25 -
배열 , 구조체
배열 메모리가 연속적으로 저장된다. 동일한 자료형으로 여러변수를 선언하고 싶을때 사용한다 만약 아래의 코드처럼 [100]이지만 0~3까지만 선언했을 경우에는 그 이후에 값은 0으로 정의된다. 주의할점 iArray[1] 이 가장 먼저가 아닌 iArray[0]이 처음이라서 iArray[10] 값을 설정할 경우에는 초과해서 접근한다 메인 함수내에 다른 메모리 위치에 값이 저장되어 원래 값이 소실되는 현상이 발생한다. 구조체 사용자 정의 자료형 자료형의 정의? : 데이터타입 데이터의 형태를 설명해줌 정의방법 tagMyST 의 자료형의 크기는 8바이트이다 왜냐하면 int 타입과 float 타입이 묶여 있기때문이다 구조체를 선언하고 메인함수내에서 사용할때는 위와같은 방법으로 사용이 가능하다 sizeof() : 괄호..
2022.11.25 -
재귀 함수 (1)
재귀 함수 함수안에서 자기 자신을 호출 가독성 (어느정도 c++에 익숙해지면) , 다른 반복문에 비해서 구현이 용이하다 편리하긴 하지만 스택을 쌓아 가기때문에 유의해서 사용해야한다. 반드시 탈출할 수 있는 조건이 필요하다 탈출하지 못하면 스택이 쌓이다가 스택메모리 한계에 도달하면 Stack Overflow 발생 소프트웨어에서 스택 오버플로는 스택 포이턴가 스택의 경계를 넘어설 때 일어난다. 호출 스택은 제한된 양의 주소공간을 이루며 대개 프로그램 시작시 결정된다. 재귀함수 팩토리얼 재귀함수를 이용하여 팩토리얼을 구현하였다. 피보나치 수열 피보나치 수열 몇번째 자리 값을 구하는 함수를 만들었다 이 과정에서 1,2번째는 1값으로 고정이고 그후 3번째부터는 이전 2개의 숫자의 합이므로 pre1 +pre2 값으..
2022.11.24