-
[메모리] 포인터Stage/Computer Science 2021. 5. 31. 22:27
학습 목표
포인터 변수를 정의하고 사용할 수 있다.
1.
*
&
연산자는 메모리의 주소를 가져오는 것이고,*
연산자는 메모리의 주소에 있는 값을 가져오는 것이라고 배웠다.
그리고 우리는 이 연산자를 이용해서포인터 역할을 하는 변수
를 선언할 수도 있다.1.1 포인터 역할을 하는 변수 선언
#include <stdio.h> int main(void) { int n = 50; int *p = &n; printf("%p\n", p); printf("%i\n", *p); }
- int n 에 50이라는 값이 저장 돼있고, n의 주소를 가져 와서 *p 변수에 저장하고 있다.
- 한번도 본 적 없는 게 나왔는데, int *p에서 *는
이 변수는 포인터 입니다
를 나타내고, int는 이 포인터가 int 타입의 변수를 가리킨다는 의미이다. - printf("%p\n", p);을 실행하면, 포인터 p의 값, 즉 변수 n의
주소
를 출력한다. - printf("%i\n", *p);을 실행하면, 포인터 p가 가리키는 변수의 값, 즉 변수 n의
값
을 출력한다.
## 포인터 너무 헷갈린다. 😅
예시 좀 더 봐야겠다.
'Stage > Computer Science' 카테고리의 다른 글
[메모리] 문자열 비교 (0) 2021.05.31 [메모리] 문자열 (0) 2021.05.31 [메모리] 메모리 주소 (0) 2021.05.31 [알고리즘] 병합 정렬 (0) 2021.05.29 [알고리즘] 재귀 (0) 2021.05.29