🤔 Const 포인터?
- const 키워드를 활용해 포인터의 특성을 바꿔줄 수 있다.
- const 주의점
- const 키워드가 들어가는 이상 선언과 동시에 초기화는 필수이다.
📖 읽기 전용 포인터
- 값을 쓰진 못하고 읽을 수만 있다. ex. const int* p = &iNum;
int iNum(0);
cont int* p = &iNum; // 읽기 전용 포인터
++p; // 참조하는 주소를 변경할 수 있다.
*p = 100; // *주소에 저장된 값은 변경할 수 없다.
cout << *p << endl; // 읽기는 가능하다
📍 상수 포인터
- 처음 초기화 해준 주소만 대입이 가능하다. 이후 대입은 불가능 ex. int* const p = &iNum;
int iNum(0);
int* const p = &iNum;
++p; // *참조하는 주소를 변경할 수 없다.
(*p)++; // 참조하는 주소의 값은 변경 가능하다.
📖📍 읽기 전용 상수 포인터
- 주소 하나에 값을 읽는 용도이다. ex. 완성된 데이터를 안전하게 관리하기 위함. ex. const int* const p = &iNum;
int iNum(0);
const int* const p = &iNum;
++p; // *참조하는 주소를 변경할 수 없다.
(*p)++; // *주소에 저장된 값은 변경할 수 없다.
'컴퓨터 구조 > C, C++' 카테고리의 다른 글
다중 포인터란 (0) | 2024.08.16 |
---|---|
구조체 크기 계산법 및 최적화 (0) | 2024.08.12 |
[C/C++]포인터 기초 (0) | 2024.08.04 |
[C/C++] 함수란 (0) | 2024.07.31 |
[C/C++] 분기문 (1) | 2024.07.24 |