728x90
ㄷㄷ 와 대체 C언어를 4학년때 다시 하는데 왜이렇게 깨닫는게 많은지
대박 이걸 몰랐네 왕신기하다 ! 하는 모먼트들이 종종 있다
ㅋㅋㅋㅋ
int main(int argc, const char * argv[]) {
int score[] = {77,88,99};
for (int i = 0; i < 3; i++)
{
printf("%2d %10u %6d \n", i, (score+i), *(score+i));
}
return 0;
}
[RESULT]
0 4022334556 77
1 4022334560 88
2 4022334564 99
내 컴퓨터에는 저리 찍힌다 딱봐도 알겠지만
(score+i) 이게 주소값이다 이말은 다음과도 같다 !!
&(score[i]) == score + i
대박사건~~~ 배열 그 자체에서 주소값을 한칸씩 이동한다는거네
다시 생각하면, 배열이름 자체가 포인터가 된다
그럼 value를 참조하는 참조값을 살펴보자
score[i] == *(score + i)
저 주소값이랑 연관해서 이해하면 쉽다 score +i 가 주소고 * 연산자 붙여서 값을 간접적으로 참조한다
와... 이걸 2021년도에 깨닫다니 허허 재밌구만
728x90
'Programming Languages > C와 C++' 카테고리의 다른 글
C언어 enum (열거형) (0) | 2021.12.14 |
---|---|
C언어 공용체 (0) | 2021.12.14 |
C 언어 구조체 자세하게 알아보기 (0) | 2021.12.14 |
C배열의 크기 구하기 sizeof() (0) | 2021.09.29 |
[C 언어] 포인터변수, &주소연산자, * 간접연산자 (0) | 2021.09.29 |