728x90
1. Const ( 상수화 : 값을 외부에서 임의로 바꿀수 없게 한다 )
2. const 포인터 활용
- const는 포인터에 붙어있음, 따라서 포인터를 이용하여 변경은 불가능함, 변수 값은 상관없이 바꿀수 있다.
*예시는 int (4byte), 포인터는 64비트 기준 (8byte)라서 약간 의미 없지만
- 넘겨받는 변수가 구조체거나 용량이 큰 변수일땐 효율을 위해서 주소를 넘겨주고 함수에서 그 주소에 직접 접근할수있게하자
=> 주소에서 값만 읽어오고 변경은 할 수 없도록 const 포인터로 받아오기
3. void*
- 원본의 형태를 정하지 않은 상태, 어떤 변수의 주소값이든 다 받아 올 수 있음
- 역참조 불가능, 주소 연산 불가능 (이유? 원본의 형태를 알 수 없기 때문이다.)
4.문자열
_다시 들어보기
- 아래 pChar[1] 이 경우 저 값이 복사되어 들어있는 배열이 아니라 저 값의 주소를 직접 접근하는 상황이다. 실행중에 코드가 바뀔 수 없기 때문에 const 포인터를 이용하여 수정 할 수 없게 함
다시한번 기억하기
메모리 구조
1. 힙
2. 스택
3. 데이터
4. 읽기 전용 ( Read Only Memory _ ROM, 코드 영역)
'C++' 카테고리의 다른 글
Class 기초, 레퍼런스(&)참조 _ 14일차_210601 (0) | 2021.06.03 |
---|---|
가변배열 _ 12일차 _210528 (0) | 2021.06.02 |
210524_8일차(포인터와 배열) (0) | 2021.05.24 |
200514_7일차(정적변수, 외부변수, 포인터 기초) (0) | 2021.05.14 |
200513_6일차(구조체,변수, 메모리, 분할구현) (0) | 2021.05.13 |