C의 상수는 C 프로그램에서 선언된 후에는 값을 수정할 수 없는 읽기 전용 변수입니다. 상수 유형은 정수 상수, 부동 포인터 상수, 문자열 상수 또는 문자 상수일 수 있습니다. C언어에서는 const 키워드는 상수를 정의하는 데 사용됩니다.
이 기사에서는 C 프로그래밍의 상수, C에서 상수를 정의하는 방법, C에서 상수 유형, 해당 속성 및 리터럴과 상수의 차이점에 대해 논의합니다.
C에서 상수란 무엇입니까?
이름에서 알 수 있듯이 C의 상수는 프로그램에서 일단 선언되면 수정할 수 없는 변수입니다. 상수 변수가 정의된 후에는 값을 변경할 수 없습니다.
C에서 상수를 정의하는 방법은 무엇입니까?
C 언어에서 상수를 정의하는 방법은 다음과 같습니다. const 예어. const 유형 한정자라고도 알려진 const 키워드는 해당 변수를 상수로 선언하기 위해 변수 선언의 시작 부분에 배치됩니다.
100만개
상수를 정의하는 구문
const data_type var_name = value ;>

C의 상수 예
씨
// C program to illustrate constant variable definition> #include> int> main()> {> >// defining integer constant using const keyword> >const> int> int_const = 25;> >// defining character constant using const keyword> >const> char> char_const =>'A'>;> >// defining float constant using const keyword> >const> float> float_const = 15.66;> >printf>(>'Printing value of Integer Constant: %d
'>,> >int_const);> >printf>(>'Printing value of Character Constant: %c
'>,> >char_const);> >printf>(>'Printing value of Float Constant: %f'>,> >float_const);> >return> 0;> }> |
>
>산출
Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>
여기서 한 가지 주의할 점은 우리가 해야 할 일입니다. 선언 시 상수 변수를 초기화합니다. . 그렇지 않으면 변수에 일부 쓰레기 값이 저장되어 변경할 수 없게 됩니다. 다음 이미지는 잘못된 변수 정의와 올바른 변수 정의의 예를 설명합니다.

C의 상수 유형
상수의 유형은 변수의 데이터 유형과 동일합니다. 다음은 상수 유형 목록입니다.
- 정수 상수
- 문자 상수
- 부동 소수점 상수
- 배정밀도 부동 소수점 상수
- 배열 상수
- 구조상수
변수 선언 시작 부분에 const 키워드를 추가하기만 하면 됩니다.
리눅스 민트 시나몬 vs 메이트
C에서 상수의 속성
const 키워드를 사용하여 정의된 C의 상수 변수의 중요한 속성은 다음과 같습니다.
1. 선언을 통한 초기화
C에서는 선언 시점에만 상수 변수를 초기화할 수 있습니다. 그렇지 않으면 쓰레기 값을 저장하게 됩니다.
2. 불변성
c의 상수 변수는 정의된 후에는 변경할 수 없습니다. 즉, 전체 프로그램에서 한 번만 초기화할 수 있습니다. 그 이후에는 해당 변수에 저장된 값을 수정할 수 없습니다.
씨
// C Program to demonstrate the behaviour of constant> // variable> #include> int> main()> {> >// declaring a constant variable> >const> int> var;> >// initializing constant variable var after declaration> >var = 20;> >printf>(>'Value of var: %d'>, var);> >return> 0;> }> |
>
>
산출
In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20; | ^>
상수와 리터럴의 차이점
상수와 리터럴은 종종 같은 것으로 혼동됩니다. 그러나 C 언어에서는 서로 다른 엔터티와 의미가 다릅니다. 다음 표에는 C의 상수와 리터럴 간의 차이점이 나열되어 있습니다.
| 끊임없는 | 리터럴 |
|---|---|
| 상수는 한번 선언되면 변경할 수 없는 변수입니다. | 리터럴은 자신을 정의하는 고정 값입니다. |
| 상수는 C에서 const 키워드를 사용하여 정의됩니다. 상수는 자체적으로 리터럴 값을 저장합니다. | 그것들 자체는 변수나 상수에 할당되는 값입니다. |
| 상수의 주소를 결정할 수 있습니다. | 문자열 리터럴을 제외하고는 리터럴의 주소를 확인할 수 없습니다. |
| 그들은 lvalue입니다. | 그들은 rvalue입니다. |
| 예: const int c = 20. | 예: 24,15.5, 'a', Geeks 등 |
#define 전처리기를 사용하여 상수 정의
다음을 사용하여 C에서 상수를 정의할 수도 있습니다. #전처리기 정의 . #define을 사용하여 정의된 상수는 상수처럼 동작하는 매크로입니다. 이러한 상수는 컴파일러에서 처리되지 않고 전처리기에 의해 처리되며 컴파일 전 해당 값으로 대체됩니다.
#define const_name value>
상수 매크로의 예
씨
// C Program to define a constant using #define> #include> #define pi 3.14> int> main()> {> >printf>(>'The value of pi: %.2f'>, pi);> >return> 0;> }> |
>
>산출
The value of pi: 3.14>
메모: 상수를 정의하는 이 방법은 버그를 유발하고 코드 유지 관리를 어렵게 만들 수 있으므로 선호되지 않습니다.
0
C 상수에 대한 FAQ
Q1. C 상수를 정의합니다.
답변:
C의 상수는 C 프로그램에서 선언된 후에는 값을 수정할 수 없는 불변 변수입니다.
Q2. const 키워드의 용도는 무엇입니까?'
답변:
const 키워드는 C 언어에서 상수 변수를 선언하는 데 사용되는 한정자입니다.
Q3. 선언 후에 상수 변수를 초기화할 수 있나요?
답변:
아니요. 일단 선언된 상수 변수는 초기화할 수 없습니다.
Q4. C에서 상수를 선언하는 올바른 방법은 무엇입니까?
답변:
C에서 상수를 선언하는 올바른 방법은 선언할 때 항상 상수 변수를 초기화하는 것입니다.
Q5. const 한정자를 사용하여 정의된 상수와 #define의 차이점은 무엇입니까?
답변:
다음 표에는 C에서 const 한정자와 #define을 사용하여 정의된 상수 간의 차이점이 나열되어 있습니다.
const를 사용하는 상수 #define을 사용하는 상수 불변의 변수들이다 이는 해당 값으로 대체되는 매크로입니다. 이는 컴파일러에 의해 처리됩니다. 전처리기에 의해 처리됩니다. 통사론: const 유형 이름 = 값 ; 통사론: #정의하다 이름값
Q6. C에서 상수 변수의 값을 변경하는 방법이 있습니까?
답변:
예, C에서 상수로 선언된 변수의 값을 변경하기 위해 포인터에 의해 생성된 허점을 활용할 수 있습니다. 아래 C 프로그램은 이를 수행하는 방법을 보여줍니다.
씨
// C Program to change the value of constant variable>#include>int>main()>{>>// defining an integer constant>>const>int>var = 10;>>printf>(>'Initial Value of Constant: %d '>, var);>>// defining a pointer to that const variable>>int>* ptr = &var;>>// changing value>>*ptr = 500;>>printf>(>'Final Value of Constant: %d'>, var);>>return>0;>}>.tif 파일>>산출Initial Value of Constant: 10 Final Value of Constant: 500>관련 기사 – C의 Const 한정자