C 언어에서 상수 포인터는 포인터가 가리키는 값을 변경할 수 없는 포인터입니다. 상수 포인터는 const 한정자가 있는 포인터로 선언되며, 가리키는 대상의 값을 변경할 수 없습니다.
#include <stdio.h>
int main() {
char ch = 'A';
float fnum = 3.14;
double dnum = 2.71828;
int inum = 42;
const char* ptr1; // char 형식의 상수 포인터
const float* ptr2; // float 형식의 상수 포인터
const double* ptr3; // double 형식의 상수 포인터
const int* ptr4; // int 형식의 상수 포인터
ptr1 = &ch; // 포인터가 ch를 가리킴
printf("char: %c\n", *ptr1);
ptr2 = &fnum; // 포인터가 fnum을 가리킴
printf("float: %f\n", *ptr2);
ptr3 = &dnum; // 포인터가 dnum을 가리킴
printf("double: %lf\n", *ptr3);
ptr4 = &inum; // 포인터가 inum을 가리킴
printf("int: %d\n", *ptr4);
// *ptr1 = 'B'; // 에러! 상수 포인터는 가리키는 값을 변경할 수 없음
// *ptr2 = 3.14159; // 에러!
// *ptr3 = 2.7182818; // 에러!
// *ptr4 = 43; // 에러!
return 0;
}
결과
char: A
float: 3.140000
double: 2.718280
int: 42
상수 포인터를 사용하면 포인터가 가리키는 값을 변경할 수 없으므로, 가리키는 값의 변경을 막을 수 있습니다. 이를 통해 프로그램의 안정성과 가독성을 향상시킬 수 있습니다.
'코딩 > C 언어' 카테고리의 다른 글
[C언어] scanf 간단한 예제 (0) | 2023.05.24 |
---|---|
[C언어] typedef 간단한 예제 (0) | 2023.05.24 |
C언어 (void*) 형변환 연산자 간단한 예제 (0) | 2023.05.23 |
C언어 %zu 간단한 예제 예시 (0) | 2023.05.23 |
C언어 변수의 주소 간단한 예제 예시 (0) | 2023.05.23 |