728x90
#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("포인터 prt[%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]);
printf("배열 arr[%d]의 값 %d\n", i, *(arr +i));
}
for (int i = 0; i < 3; i++)
{
//printf("포인터 prt[%d]의 값 %d\n", i, ptr[i]);
printf("포인터 prt[%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); // *(arr+0)
printf("arr[0]의 실제 값 : %d\n", *&arr[0]);
// *&는 아무것도 없는 거와 같다. &주소이며, *는 그 주소의 값을 의미한다.
//*&는 서로 상쇄된다.
return 0;
}
그 결과
728x90
'개발자 모드 > C언어' 카테고리의 다른 글
ChatGPT로 개발하기 CodeComposerStudio 개발하기 (0) | 2024.11.03 |
---|---|
C언어 포인터 SWAP함수 응용 (0) | 2021.09.18 |
C언어 다차원 배열 기본 개념 #2 (0) | 2021.09.18 |
C언어 배열과 포인터의 관계 (0) | 2021.09.18 |
C언어 배열과 포인터의 관계 (0) | 2021.09.17 |