개요

식별자의 정의와 작성 규칙에 대한 이야기

 


정의

C 프로그램에서 여러 요소를 구분하는 이름식별자(Identifier)라 한다.

 

 

규칙

식별자는 이름만으로 요소의 특징을 알 수 있어야 한다.

그렇기에 구체적이며 고유성이 있는 가독성 좋은 이름으로 선택하는 것이 좋다.

 

 

위의 예시를 보면 식별자의 이름만으로 요소의 특징을 알 수 있는 식별자와 그렇지 못한 식별자를 알 수 있다.

playerLevel은 문자 그대로 플레이어의 레벨을 나타내고 있지만 L 만으로 요소를 판단하기 어려우며,

playerAttackPower로 플레이어의 공격력을 알 수 있지만 power만으로는 누구의 힘인지 알 수 없다.

또한 PAScridam과 같이 의미를 함축시킨 식별자는 작성자는 구분이 가능할지 몰라도

함께 작업을 진행하는 다른 사람들에게는 의미를 파악하기 어렵다.

playercriticalrate는 의미를 담고 있으나 표기법의 가독성이 좋지 못하여 좋은 식별자라 할 수 없다.

 

이와 같이 식별자는 정해진 규칙에 맞게 구체적이고 가독성 좋은 고유 이름으로 작성하는 것이 옳다.

 

 

특징

식별자는 규칙에 맞게 작성되어야 한다고 했다.

이러한 규칙에는 조직뿐만 아니라 코딩 프로그램과의 규칙도 포함이 되어 아래와 같은 특징이 있다.

 

1. 특수한 의미를 갖는 키워드는 제외한다.

프로그램에서 사용중인 특수한 키워드는 식별자로 작성할 수 없다.

원하는 이름으로 작성하고 싶겠지만 당신의 식별자는 프로그램한테 빼앗긴 것이다.

 

2. 숫자로 시작할 수 없다.

123Player 와 같이 식별자는 숫자로 시작할 수 없다.

이는 컴파일 단계에서 지원하지 않는 기능이라 하며, 자세한 내용은 아래 링크를 확인하자.

https://yeolco.tistory.com/144

 

C언어 변수 이름이 숫자로 시작할 수 없는 이유

C언어에서는 키워드 외에는 모든것이 식별자로 처리됩니다. 식별자는 변수, 상수, 함수 및 사용자 정의 데이터(구조체, 클래스 등)에 지정된 이름이 될 수 있습니다. 변수 이름은 영문(대문자, 소

yeolco.tistory.com

 

3. 대/소문자를 구분한다.

아스키코드를 보면 알 수 있듯, 대문자와 소문자는 같은 값으로 판단하지 않는다.

식별자 또한 대/소문자를 구분하여 Player와 player를 같은 값으로 판단하지 않는다.

 

 

식별자의 선언과 정의

 

선언

선언은 프로그램에게 다음과 같은 식별자가 있다는 것을 알려주는 행위이다.

따라서 같은 식별자가 여러번 선언되어도 문제가 발생하지 않는다.

 

정의

정의는 식별자에 대한 모든 정보를 제공하는 것으로 선언을 동반한다.

식별자에 대한 정보가 중복되어 제공되는 것은 불가능하여 여러번 정의가 이루어질 수 없다.

정의를 하면서 데이터까지 넣어주는 행위초기화라고 한다.

 

할당

메모리에 데이터를 저장하는 행위

 

식별자의 범위

식별자는 선언이 이루어질 때 유효한 범위를 가지게 된다.

서로 다른 범위나 번역 단위를 가질 때, 그것을 참조할 수 있는 연결(Linkage)을 가진다.

728x90

'Program > C (C++,C#)' 카테고리의 다른 글

[C] 변환 ( Conversion )  (0) 2022.05.08
[C] 객체 ( Object )  (0) 2022.05.07
C언어 프로그래밍  (0) 2022.04.25
[C++] 구조체  (0) 2022.04.15
[C++] 콘솔용 탈출게임  (0) 2022.04.13

+ Recent posts