C포인터

ㄷㄷ 와 대체 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 대박사건~~~ 배열 그 자체에..
C언어를 하다보면 & 연산자 * 연산자 그리고 포인터는 봐도봐도 헷갈린다.. 참 한번에 바로 이해되기 어려운 개념인것 같다. 정리하며 이해해보자 !! 1. 포인터 변수와 주소연산자 & 포인터 변수 : 주소값을 저장하는 변수이다. 변수의 주소값은 반드시 포인터 변수에 저장하고 일반 변수에는 포인터가 아닌 일반 자료 값을 저장한다. 일반 변수랑 선언하는 방법도 다르고 포인터 변수 라는 것 자체가 또 다른 타입이라고 생각하면 된다. 포인터 변수의 선언방법 : 자료형 * 변수이름 ex) int *pointerInt; 변수의 자료형이 다르면 당연히 그 변수의 주소를 저장하는 포인터의 자료형도 달라야 한다 !! int data = 100; int *ptr; ptr = &data 2. 간접연산자 * 포인터 변수가 갖..
minjiwoo
'C포인터' 태그의 글 목록