티스토리 뷰

1. 포인터 변수

 

변수 : 철수  -> 메모리에 철수라는 공간이 생김 ->  변수명 앞에 &를 붙여 출력하면 변수의 주소가 나온다

 

 

 

 

  1. 변수를 선언하면 메모리에 공간이 생기고 변수명 앞에 &를 붙여 출력하면 메모리 공간의 주소를 확인할 수 있다.
  2. 메모리 주소를 확인하기 위한 서식 지정자는 %p 이다.
  3. 포인터 변수는 메모리의 주소값을 저장하는 변수다. 앞에 *가 꼭 붙는다.

   4. 포인터 변수가 가리키는 주소의 값에 접근하려면 변수명 앞에 *를 붙인다.  

 

 

미션맨1   아파트의 각 집에 방문하여 문에 적힌 암호 확인

 

 

 


 

 

 

2. 포인터로 값 바꾸기 - 미션맨

 

포인터 변수는 다른 변수의 주소를 알아낼 수 있고, 알아낸 변수의 주소에 찾아가 값도 직접 바꿀 수 있다.

여기서 변수의 주소를 안다는 건 = 변수가 존재하는 메모리 공간의 주소를 안다는 뜻이다.

 

 

 

1. 철수네 주소가 변수 미션맨에 들어있으니 암호, 즉 값은 *미션맨으로 확인할 수 있다.

2. 따라서 *미션맨에 곱하기 3을 하고

3. 이를 다시 *미션맨에 저장한다

 

 

 


 

 

3. 포인터 추가하기 -  스파이

 

 

미션맨과 스파이 같은 포인터 변수는 어떤 변수의 주소를 값으로 가지고 있으며 주소를 이용해 주소에 해당하는 변수의 값을 직접 바꿀 수 있다.

 

 

 

 


 

 

 

3. 배열과 포인터

 

  1. 포인터 변수를 선언하고 배열을 넣으면 포인터 변수가 배열의 시작 주소를 가리킨다.
  2. 포인터 변수로 배열의 i번째 요소에 접근하려면 포인터변수명[i]  또는  *(포인터변수명 + i) 와 같이 작성
  3. 배열명을 이용해서도 포인터 변수와 동일하게 배열명[i] 또는 *(배열명 + i)와 같은  형태로 배열의 i번째 요소에 접근할 수 있다.

 

 

 

*& 는 서로 상쇄되어 아무것도 없는 것과 같다. ( &는 주소이며, *는 그 주소의 값이기 때문에)

 

 

 

 


 

 

 

프로젝트 : 물고기 키우기

 

 

 

 

 

 


 

 

  • 지역변수 : main() 함수 내부와 같이 중괄호 {} 안에 선언한 변수이다. 중괄호 안에서만 접근할 수 있고, 중괄호 외부나 다른 함수 등에서는 접근할 수 없다.
  • 전역변수 : 전역 공간(중괄호로 제한되지 않은)에 선언한 변수로, 지역과 상관없이 어느 곳에서든 접근할 수 있다. 전역변수는 보통 함수를 선언하는 곳과 같은 위치에 선언하면 된다.

 

 


 

 

long형 : int형과 같이 정수를 담을 때 사용할 수 있는데, ANSI 표준에서는 int형은 최소 2바이트, long형은 최소 4바이트가 되어야 한다고 명시한다. 컴파일러마다 자료형의 바이트 수에 차이가 있을 수 있지만, 윈도우에서는 int형과 long형 모두 4바이트의 크기를 가진다. 

 

 

 

 


 

 

셀프체크

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함