위 내용은 tetris.h 의 함수들을 정의해 놓은 tetris.c 파일 내부에서 액변세스 위반이 발생하였다
액세스위반이 발생한 이유는 t.curblock이 초기화되지않아서이다.
나는 dropBlock()함수 위의 createBlock()함수에서
t.curblock을 초기화 시켜줬기 때문에
그리고 구조체 t의 선언을 전역범위에서 해줬기때문에
매개변수로 t를 받으면 현제 만들어진 구조체 t에 접근해서 값을 가져오고 저장하고 하는건줄알았는데
아니었다.
전역변수를 매개변수로 받아도 내가 선언해놓은 구조체에는 접근이안된다.
무조건 Tetris * t의 포인터로써 매개변수를 받아야된다
void dropBlock(Teris * t){} 이런식으로 포인터로 받아주니까 해결되었다.
'programming > c , c++' 카테고리의 다른 글
[테트리스개발] 프로그램 실행중 콘솔화면 멈춤현상 발생 (0) | 2021.09.19 |
---|---|
[테트리스개발] 방향키클릭시 이동 느림 이슈 관련 (0) | 2021.08.28 |
[테트리스개발] 콘솔창의 종료문구가 게임보드 중간에 낀 현상 (0) | 2021.07.12 |
[테트리스개발]c언어 난수생성 (0) | 2021.07.12 |
[테트리스개발]BOOL WINAPI 반환타입 (0) | 2021.07.11 |