컴퓨터 구조/C, C++

const와 포인터

JiHxxn 2024. 8. 9. 00:33

🤔 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