여러 사람들이 여기에 내 C 코드에 주석을 달았습니다. 상수를 하드 카운터로 사용하지 말고 루프 카운터로 사용해야한다고 말했습니다. Java 코드 작성시 필자의 실습이기 때문에 필자의 의견에 동의하지만 배열 선언 및 루프 조건문에서 상수를 사용하려고하면 컴파일 타임 오류가 발생합니다.컴파일 타임 오류가 발생하는 C 상수
C에서 상수를 선언하려면 구문은 #define NAME value
입니다.
내 코드에서 두 개의 상수 인 BUFFER
은 파일 읽기 버퍼이고 PACKED
은 출력 배열 크기입니다.
char inputBuffer[BUFFER];
를 초기화
BUFFER
를 사용하지만, 내가하려고 할 때 루프 초기화 라인에
char inputPack[PACKED]
에서
error: expected ‘]’ before ‘;’ token
및
error: expected expression before ‘;’ token
오전 얻을
PACKED
#define PACKED 7; // this line is in the header of file, just below preprocessors
int packedCount;
char inputPack[PACKED]; //compression storage
for (packedCount=0; packedCount<= PACKED; packedCount++){
을 사용합니다. 나는 7
Marlon이 말했듯이'char inputPack [PACKED]' – Marlon
끝에 세미콜론이 누락되었습니다. 여기에 오타가 있습니까? – wong2
정확하게 코드를 붙여 넣으십시오. – wong2