프로그래밍

 3198, 1/160 회원가입  로그인  
   windowhan
   C언어 전역변수와 #define 의 차이

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3153 [복사]


뭘까요?


(해커스쿨 and 해킹캠프 뽀레빠!~)~!!

  Hit : 10738     Date : 2011/09/01 05:20



    
늅늅 #define으로 선언한것이 변수는 아니에요
말그대로 치환하는건데
어떻게보면 하는건 변수랑 같을수 있는데
변수는 말그대로 변하는 수, 어떤 유동성있는 데이터를 저장하는 공간이라고 볼 수 있고
#define은 상수에용
#define a 41 이라고하면 그 a 값은 프로그램실행 끝날때까지 안바뀌지만
int a=41; 이라고하면
a++; 등과같이 변경이 가능해요~
2011/09/01  
windowhan 늅형 고마워 2011/09/01  
redrow99 저근데 #define 문도 데이터 영역에 저장되나요?? 2011/09/02  
totqufkiss 데이터 영역은 프로그램이 종료될 때까지 유지해야 할 데이터를 저장할 공간이니까 #define 도 데이터 영역에 저장되지 않을까 싶네요... 2011/09/02  
jsk0612 큰 차이중 하나는 상수와 변수의 차이죠 ㅇㅅㅇ 2011/09/03  
edragon 제가 알기론 #define은 프로그램 실행시 메모리에 로드되지 않습니다.
전역변수는 프로그램 실행 후 변수 선언 시 메모리에 로드됩니다..
2011/09/03  
prosper
http://www.cocoadev.co.kr/17
2011/09/16  
prosper 전처리기는 컴파일시에만 사용되며 바이너리 코드에는 적재되지 않습니다.

굳이 쉽게 표현하자면, 컴파일러가 이해하는 일회성 코드입니다.
2011/09/16