개인공부(212)
-
구조체, 동적할당
구조체에 값을 대입하고 싶을때는 만약 포인터 구조체를 통해서 구조체의 주소가 s이면 로 정의가 가능하다. 동적할당 특징 1. 런타임 중에 대응가능 2. 사용자가 직접 관리해야함(해제) malloc (숫자); 는 숫자만큼의 공간을 가지는 힙메모리는 동적할당해준다 말록의 특징으로는 void 타입이기때문에 자신이 원하는 자료형 타입으로 바꾸어서 사용한다. 그러므로 malloc은 void 포인터의 특징을 가지고 있다. 이러한 함수를 이용하여 힙메모리를 관리가능하고 다른언어가 없는 특징을 가진다. 가변배열 가변하는 배열이기때문에 힙메 모리 영역을 이용한다. int arr[변수] ={}; 는 불가능하다 왜냐하면 처음에 프로그램이 실행되고 메인함수의 스택메모리 크기를 할당해야하는데 배열의 크기에 변수가있으면 메모리값..
2022.12.03 -
함수 오버로딩
함수 오버로딩 같은 이름의 함수여도 자료형에 따라서 함수를 다르게 설정할 수 있다. 그러므로 같은 이름의 함수를 정의할 수 있다. #include assert(nullptr); 이런 조건이 발생하면 안된다고 경고해주는 기능으로 디버그 상태를 출력해준다
2022.12.03 -
문자 char
char 와 wchar_t char 의 경우에는 1바이트이므로 저장할 수 있는 문자의 종류에 한계가 많아서 wchar_t 는 2바이트이므로 저장가능한 문자의 종류가 많으므로 wchar를 사용한다 문자 1과 숫자 1은 다른 값을 가진다. char c = 1; char 자료형 2번째 값으로 보여주며 c = '1'; 1의경우 고유의 저장된 값을 가진다. 문자 배열 문자열에서는 종료하는 시점을 알수없으니 null 문자로 마무리한다. 문자 배열은 "abfdfkd" 등으로 저장이 가능한데 앞쪽에 L을 붙이면 2바이트로 저장한다는 의미이다. 정의 wchar szchar[255] = L"안녕하세요"; 로 정의가 가능한데 [ ] 에는 배열의 정의처럼 메모리 크기를 정의한다. szchar[0]; 부터 시작하며 0은 '안'..
2022.11.30 -
캐릭터 점프 , 정지, 이동구현
오늘은 아르바이트 가기전에 주인공 캐릭터의 정지 이동 점프 공격 모션을 완성했다. 슬프게도 공격하는 검을 하얀색으로 해서 잘 안보인다....
2022.11.30 -
변신 2022.11.29
-
const
const 상수처럼 취급하지만 값을 변경하는게 완전히 불가능한게 아니다 주소로 접근시 가능하다 volatile const int cint= 100; pint = (int*)&cint; *pint = 300; const 와 포인터 const int* pConstInt = &a; 는 가리키는 원본을 수정할 수 없다. *pConstInt = 100; (X) pConstInt = &b; (O) 포인터 const int* const pIntConst = &a; *pIntConst = 400; (O) 으로 주소값을 변경할 수 있지만 *pConstInt = &b; (X) 처럼 포인터 변수 자체가 상수화 되었기때문에 더 이상 다른변수의 주소를 받을 수 없다. 위의 두가지를 조합하면 const int* const 변수 ..
2022.11.28