반응형
- 메모리의 주소
- 메모리라는 것은 우리가 데이터를 넣고 꺼내 쓰는 공간으로, 그 위치를 식별할 수 있어야 합니다.
int a; |
- 주소 연산자: &
- 주소라 하면 변수가 할당된 메모리의 시작 주소를 의미합니다.
&변수명; &a; |
- 포인터와 간접 참조 연산자: *
- 포인터가 바로 변수의 메모리 주소를 저장하는 변수입니다. 주소를 저장할 포인터도 변수처럼 선언하고 사용합니다. 선언할 때 변수 앞에 *만 붙여주면 됩니다.
자료형 * 변수명; int * pa; |
- const를 사용한 포인터
- const 예약어를 포인터에 사용하면 이는 가리키는 변수의 값을 바꿀 수 없다는 의미로, 변수에 사용하는 것과는 다른 의미를 가집니다.
- 포인터는 메모리를 사용하는 또 다른 방법이다.
- 주소 연산자 &로 변수가 할당된 메모리의 위치를 확인한다.
- 포인터로 가리키는 변수를 사용할 때 간접 참조 연산자*를 쓴다
- 주소 연산자 - 변수 앞에 분여 사용하며, 변수가 할당된 메모리의 시작 주소 값을 구한다.
int a; |
- 포인터 - 시작 주소 값을 저장하는 변수며, 가리키는 자료형을 표시하여 선언한다.
char *pc; |
- 간접 참조연산자 - 포인터에 사용하며, 포인터가 가리키는 변수를 사용한다.
*pi = 10; |
- 주소와 포인터의 차이
- 주소는 변수에 할당된 메모리 저장 공간의 시작 주소 값 자체이고, 포인터는 그 값을 저장하는 또 다른 메모리 공간입니다. 따라서 특정 변수의 주소 값은 바뀌지 않지만 포인터는 다른 주소를 대입하여 그 값을 바꿀 수 있습니다.
- 주소와 포인터의 크기
- 포인터도 저장 공간이므로 그 크기가 있습니다. 포인터의 크기는 저장할 주소의 크기에 따라 결정되는데 크기가 클수록 더 넓은 범위의 메모리를 사용할 수 있습니다.
- 포인터의 대입 규칙
- 포인터는 크기가 모두 같으므로 대입연산을 쉽게 생각할 수 있습니다. 그러나 다음 규칙에 따라 제한적으로 사용해야 합니다.
- 포인터는 가리키는 변수의 형태가 같을 때만 대입해야합니다.
- 형 변환을 사용한 포인터의 대입은 언제나 가능합니다.
- 포인터를 사용하는 이유
- 임베디드 프로그래밍을 할 때 메모리에 직접 접근하는 경우나 동적 할당한 메모리를 사용하는 경우에는 포인터가 반드시 필요합니다.
- 주소와 포인터는 상수와 변수의 차이가 있다.
- 포인터의 크기는 주소의 크기와 같다.
- 포인터에 주소를 저장할 때는 가리키는 자료형이 같아야 한다.
- 포인터의 주요 기능 중 하나는 함수 간에 효과적으로 데이터를 공유하는 것이다.
반응형
'혼공단 > 혼공C3기' 카테고리의 다른 글
[혼공C 학습단 3기]5주차 기본미션 직접 정리한 키워드 정리 공유 (0) | 2021.03.18 |
---|---|
[혼공C 학습단 3기]4주차 기본 미션 직접 표로 핵심 포인트 정리 공유 (0) | 2021.03.18 |
[혼공C 학습단 3기]3주차 기본 미션 혼공 용어 노트에 용어 추가 등의 노트 활용 인증샷 (0) | 2021.03.18 |
[혼공C 학습단 3기] 2주차 기본미션 확인 문제 책에 푼 인증샷 (0) | 2021.03.18 |
[혼공C 학습단 3기] 1주차 기본 미션 비주얼 스튜디오 설치 화면 인증샷 (0) | 2021.03.18 |