Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C에서 #define과 const의 차이점

<시간/>

#define은 전처리기 지시문입니다. 따라서 #define을 사용하여 일부 매크로를 정의하면 컴파일 전에 해당 값으로 코드로 바뀝니다. 따라서 컴파일러가 코드에 대해 아무 것도 알지 못하는 경우 매크로 값도 교체됩니다.

상수는 실제로 변수입니다. 이 변수를 선언하면 메모리 단위를 차지합니다. 그러나 상수 유형 변수의 값을 직접 업데이트할 수는 없습니다. 포인터 값을 사용하여 변경할 수 있습니다.

때때로 프로그래머는 매크로를 사용하는 것이 메모리에 추가 공간을 차지하지 않기 때문에 const보다 낫다고 생각할 수 있지만 일부 우수한 컴파일러의 경우 최적화된 코드가 영향을 미치지 않습니다. 매우 유사합니다.