배열과 포인터
배열과 포인터는 표현에서 비슷한 점이 많다.
배열 표현식과 포인터 표현식을 interchangably 쓸 수 있다.
#include<cstdio>
int main() {
int val = 10;
int* ptr;
int arr[3] = {1,2,3};
ptr = &val;
// arr = &val;
// 얘는 안된다. arr변수는 '배열'로 선언되었기 때문.
// 한번 세팅하면 주소값을 바꿀 수 없는 const pointer와 비슷한 느낌?
printf("ptr value: %x\n", ptr); // 주소값
printf("ptr pointer: %d\n\n", *ptr); // 10
printf("ptr[0]: %d\n", ptr[0]); // 포인터를 배열처럼
printf("*(arr+1): %d\n", *(arr+1)); // 배열을 포인터처럼. arr이 int형이므로 +1하면 4바이트 주소를 옮겨서 값을 출력한다.
}
'IT' 카테고리의 다른 글
우분투에서 scanf()로 EOF 입력하기/받기 (0) | 2022.06.29 |
---|---|
포인터변수의 이해와 주소연산자 (0) | 2022.06.28 |
[백준 10815] 이분 탐색법(binary search) (0) | 2022.06.24 |
[백준 2609] 최대공약수와 최소공배수 (0) | 2022.06.21 |
KaTeX: 더 빠른 성능의 수식 입력 라이브러리 (0) | 2022.06.20 |