기타 강좌

이번에는 상수에 대해 간단히 설명하겠습니다.

 

상수

상수는 그 값을 지정 했다면 절대로 값을 변경 할 수가 없습니다.

만약에 상수의 값을 변경하려고 시도를 할 경우 바로 오류가 뜹니다.

 

 

상수를 선언하기 위해

 

상수를 선언하려면 일단 #define 과 const가 있습니다.

일단 #define에 대해 설명하겠습니다.

 

#define

#define 이것도 역시 상수입니다. 만약 값을 변경하려 시도 했다면 오류가 뜨죠.

 

선언 하는 방법입니다.

 

#define 변수이름 (값)

 

이왕이면 #include 아래에다 해주시는게 좋습니다.

 

#define UP 72

#define PI 3.14

#define MAX 100

 

이렇게 하는데요. UP 72 라 한 까닭은 아스키 코드에서 72는 위를 뜻하기 때문에

#define UP 72로 정했습니다.

이번에는 PI 3.14라 한 까닭은 PI가 파이입니다. 자기가 상수나 변수를 선언할 때 의미 있는

이름으로 해주시면 정말 좋으므로 저는 PI라 했습니다. PI는 3.14159...... 쭉 있지만

반올림하면 3.14만 사용합니다. 그래서

#define PI 3.14라고 했습니다.

 

이번에는 MAX 100 이라 한까닭은 그냥 맥스값 -> 최대값을 뜻합니다. 저는 최대값을 100으로 선언했습니다.

자기가 상수나 변수를 선언하는건 자기 마음대로 이지만

선언하시려면 프로그램과 관련된 변수 이름을 해주시면 더욱더 좋습니다.

 

이런 습관을 기르시면 코드 해석때 쉽게 이해 할 수가 있을것입니다.

 

지금까지 C언어 상수 강좌 였습니다. 

Comment '1'
  • ?
    Last H 2009.03.14 05:34
    일반적으로 C언어를 하면서 착각하기 쉽지만 #define은 상수가 아닙니다 ^^; 메크로 기능이죠.
    메모리라던가 프로그램 루틴의 명확한 구조를 알지 않고 프로그램언어만 하시는 분들이 착각하기 쉬운 일이죠.
    상수라는건 값을 선언과 동시에 완전히 고정시킨다는 겁니다. 즉 외부에서 아무리 값을 넣거나 변경하려 해도 벽에 가로 막힌것 처럼요.

    변수를 선언했다면 컴파일 과정에서 변수는 메모리에 바인딩됩니다.
    이 때 const를 쓰게 되면 메모리엔 마치 하드보안기 처럼 더 이상 쓰기가 금지됩니다.

    하지만 #define의 경우는 단지 우리가 게임에서 흔히 사용하면 ctrl+1을 누르면 "안녕하세요"를 출력하는 것과 같은 식입니다. 
    그것을 설정하는것이죠.

    조금더 고급프로그램을 짜시거나 C언어에 대해 더 배우시다 보면 함수의 상수화를 알 수 있습니다. 이때 가면
    #define과 const의 차이가 얼마나 극명한지 아실겁니다.

List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
기타 알집으로 게임 압축하기 6 아방스 2008.02.25 2386
C언어 [ - Zennys - ] 제니스의 C언어 강좌 [정수의 길이] 1 제니스 2009.06.13 2395
C언어 같은그림찾기 구현 2 초기화 정체불명 2012.01.19 2405
기타 오류해결법 1-비스타로 하나포스에서 게임 다운로드하기. 21thcentuary 2008.09.29 2412
기타 카일 쿠퍼의 강의 입니다. Kyle Cooper: The Film Inside the Film (lecture) 아방스 2011.01.17 2415
기타 내가 생각해낸 방법 [SE-BAND] 7 비타스 2008.07.07 2435
기타 아이디어를 얻고싶다면 ! 나열하고 선택해라 3 file 꼴뚜기무침 2010.11.13 2435
기타 [파이썬] 함수 (플밍을 편하게))10( 4 - 하늘 - 2009.10.26 2440
그래픽1개를 다운받아서 2개로 사용방법 어두운동굴 2008.07.29 2442
기타 RPG-Builder 3D - 캐릭터 그래픽을 드래곤 으로 바꿔보자! 5 file 더블오렌지 2011.08.08 2464
C언어 [C언어] 이스케이프 시퀸스 [Dark].Angel 2009.01.14 2472
C언어 [ - Zennys - ] 제니스의 C언어 강좌 [확장열] 제니스 2009.06.13 2472
기타 프로그래밍 스킴 7줄로 윈도우창에 그림을 출력하고 움직여보자. file 정체불명 2010.10.04 2477
기타 프로그래밍 스킴 Scheme 4 "3두개 7두개로 24를 만들려면?" 프로그래밍으로 풀기 2 정체불명 2010.10.03 2479
기타 [파이썬] if(만약 …이면) )8( 3 - 하늘 - 2009.09.10 2494
기타 유튜브 동영상 다운로드 하기 6 아방스 2010.11.03 2499
C언어 [C언어] 배열에 대해 1 [Dark].Angel 2009.01.14 2505
기타 온라인 게임 서버의 구조도 4 file Saber 2010.09.06 2509
기타 [VB6 강좌] 제2강 - 비주얼베이직과 인사하기 1 독도2005 2008.10.26 2515
기타 - 하늘 -의 리눅스 book! 리눅스를 배워보자! 5 - 하늘 - 2009.08.01 2515
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19