1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main(void) {
5 system("clear");
6 int arr[3] = {1, 2, 3};
7
8 printf("arr 의 %%p: %p\n", arr);
9 printf("&arr[0]의 %%p: %p\n", &arr[0]);
10 puts("━━━━━━━━━━━━━━━━━━━━━━━━━━━");
11 for(int i=0; i<sizeof (arr)/sizeof (int); i++) {
12 printf("&arr[%d]의 %%p: %p | arr+%d의 %%p: %p\n", i, &arr[0], i, arr+i);
13 }
14
15 return 0;
16 }
8~9: arr의 주소값은 arr[0]의 주소값이다.
12: 포인터+1 연산을 하면 배열의 다음 인덱스로 이동한다.
1 #include <stdio.h>
2
3 int main(void) {
4 int arr[2]={1,2};
5 int* pArr=arr;
6
7 //배열 이름을 통한 출력(배열 이름을 포인터처럼 사용)
8 printf("%d, %d\n", arr[0], *(arr+1));
9
10 //포인터 변수를 통한 출력(포인터를 배열처럼 사용)
11 printf("%d, %d\n", pArr[0], *(pArr+1));
12
13 return 0;
14 }
10, 13: arr[i] == *(arr+i)
'컴퓨터 > C' 카테고리의 다른 글
C scanf() (0) | 2022.10.14 |
---|---|
C printf() (0) | 2022.10.14 |
C hello, world! (0) | 2022.10.14 |
C 변수 scope (2) | 2022.09.08 |
C function 함수 (0) | 2022.09.02 |