2012-09-14 3 views
0

저는 레거시 코드로 작업 중이며 GW Basic 용 자습서와 핸드북을 며칠 후에 설명 할 수없는 내용을 다뤘습니다. 변수 (P9 %)가 코드 앞에있는 530 행의 비교 (IF P9 % <> 0)는 860 행의 정의에 도달합니다. 복잡한 코드 조각이 아니며 단지 ~ 1200 행에 불과하므로 어떤 goto도 놓치지 않았 음을 확신합니다. 또는 gosub 또는이 비교보다 일찍 860에 도달 할 것 인 모든 것.GW 기본 기본 변수 초기화

이 프로그램이 실행될 때 어떻게 영향을 미치는지 궁금합니다. 내 경험의 대부분은 C++에서 이런 종류의 컴파일되지 않을 것입니다. 할당되지 않은 변수에 잠재적으로 들어 맞는 내용이 포함될 수 있지만 Basic의 변수에 어떤 기본 할당이 주어 졌는지 전혀 알지 못합니다.

답변

0

내가 gwbasic에서 많이 쓴 이후로 오랜 세월이 지났습니다!

올바르게 기억하면 변수에 0이 할당됩니다. Gwbasic (그리고 내가 생각하기에 Qbasic)은 처음 참조 될 때 모든 변수에 기본값을 할당합니다. 이것은 일반적으로 0이거나 문자열 변수에 대한 빈 문자열입니다.

흥미롭게도 DIM 문을 사용하여 배열을 만들 때 배열의 모든 항목도이 방법으로 초기화됩니다.

이 메커니즘을 사용하는 경우에도 일반적으로 변수를 초기화하는 것이 좋습니다.

gwbasic 시대의 많은 프로그래머는 프로그램 지침에서 사용하는 메모리 양을 최소화 할 수있을만큼 많은 것을 생략 했으므로 다른 것들보다 더 많은 것을 가지고있었습니다. 그래서 그것이 초기화되지 않은 이유 일 수 있습니다.