본문
배을을 가리키는 포인터.
포인터가 가장 큰 고비라던데...
/ 배열 이름의 주소값
#include <stdio.h>
int main() {
int arr[3] = {1, 2, 3};
int (*parr)[3] = &arr; // 크기가 3 인 배열을 가리키는 포인터
// arr 이 크기가 3인 배열이므로 &arr을 보관할 포인터는 크기가 3인 배열을 가리키는
// 포인터가 되어야 한다.
// 괄호를 사용하지 않고 int *parr[3] 과 같이 사용하면 int* 원소 3개를 가지는
// 배열을 정의한 것으로 된다.
printf("arr[1] : %d\n", arr[1]);
printf("parr[1] : %d\n", (*parr)[1]);
return 0;
}
결과
arr[1] : 2
parr[1] : 2
arr 과 parr은 같은 주소(같은 값)을 가진다.
#include <stdio.h>
int main() {
int arr[3] = {1, 2, 3};
int (*parr)[3] = &arr;
printf("arr : %p\n", arr);
printf("parr : %p\n", parr);
return 0;
}
결과
arr : 0x16fdff318
parr : 0x16fdff318
'프로그래밍 > C' 카테고리의 다른 글
포인터 배열 (0) | 2021.10.30 |
---|---|
2차원 배열의 포인터 (0) | 2021.10.30 |
포인터와 & 단항 연산자 (0) | 2021.10.25 |
맥에서 vscode와 clang을 이용한 C/C++환경 설정하기 (1) | 2021.10.24 |
초기화 하지 않은 변수 값 (0) | 2021.10.24 |