포인터의 정의와 연산자
정의
어느 변수에 대하여 메모리의 시작 주소를 값으로 담고 있는 변수
연산자
- 참조 연산자: *(asterisk)를 포인터 변수에 써서 해당 변수가 다른 변수를 참조하기 위해 쓴다. 이 연산자를 통해 해당 변수가 "포인터"임을 알린다.
- 주소 연산자: &(ampersand)를 실제 할당할 변수 앞에 써서 그 변수의 시작 주소를 할당하기 위해 쓴다.
코드와 결과
코드
#include <stdio.h>
int main(void)
{
int a; // a라는 변수를 초기화
int *ptr = &a; // a의 시작 주소(&)를 ptr이라는 포인터에 참조(*)한다.
a = 10; //
printf("a is %d\\n", a);
printf("&a is %p\\n", &a);
printf("&ptr is %p\\n", &ptr);
printf("*ptr is %p\\n", ptr);
return 0;
}
결과
a is 10
&a is 0x16fb4afe8
&ptr is 0x16fb4afe0
*ptr is 0x16fb4afe8
'CS 기초 > CS50 2019' 카테고리의 다른 글
[CS50 2019] (C언어) 문자열 (0) | 2023.05.27 |
---|---|
[CS50 2019] (C언어) C 기초 (0) | 2023.05.27 |
[CS50 2019] (컴퓨팅 사고) 알고리즘 (0) | 2023.04.06 |
컴퓨팅 사고) 정보의 표현 (in CS50 2019) (0) | 2023.04.05 |
[CS50 2019] (컴퓨팅 사고) 이진법 (0) | 2023.03.26 |
댓글