#include<stdio.h>
int
main(void)
{
// 배열
int arr[3] = { 5, 10, 15 };
int* ptr = arr;
for (int i = 0; i < 3; i++)
{
printf("배열 arr[%d] 의
값: %d\n", i, arr[i]);
}
for (int i = 0; i < 3; i++)
{
printf("배열 ptr[%d] 의
값: %d\n", i, ptr[i]);
}
ptr[0] = 100;
ptr[1] = 200;
ptr[2] = 300;
for (int i = 0; i < 3; i++)
{
printf("배열 arr[%d] 의
값: %d\n", i, arr[i]);
}
for (int i = 0; i < 3; i++)
{
printf("배열 ptr[%d] 의
값: %d\n", i, ptr[i]);
}
// 다르게
표현하여 출력
for (int i = 0; i < 3; i++)
{
printf("배열 arr[%d] 의
값: %d\n", i, *(arr + i));
}
for (int i = 0; i < 3; i++)
{
printf("배열 ptr[%d] 의
값: %d\n", i, *(ptr+i));
}
// *{arr+i)==arr[i] 똑같은 표현
// arr=arr 배열의
첫번째 값의 주소와 동일 == &arr[0]
printf("arr 자체의 값 : %d\n",
arr);
printf("arr[0]의 주소 : %d\n",
&arr[0]);
printf("arr 자체의 값이 가지는 주소의 실제 값 :
%d\n", *arr);
printf("arr[0] 자체의 값이 가지는 주소의 실제 값 :
%d\n", *&arr[0]);
// *& 는
아무것도 없는 것과 같다 &는 주소이며,
*는 그 주소의 값이기 때문에,
// *& 는
서로 상쇄된다.
printf("arr[0] 의 실제 값: %d\n",
*&*&*&*&*&*&*&*&arr[0]);
printf("arr[0] 의 실제 값: %d\n",
arr[0]);
return 0;
}
댓글 없음:
댓글 쓰기