피씨컴의 기울어진 공관

12일차

프로그래밍/공부 2013. 1. 28. 13:02

Release : 비주얼 스튜디오 필요없음

Debug : 비주얼 스튜디오 깔려있어야함

------------------------------------------------------------------------------------------

<< 포인터 >>

      ↓(포인터)       ↓(변수)   

● * 여기에          누가 살아

       ↑(주소)        ↑(변수)

● & 너!              어디살아?

       ↑ (변수)       ↑(주소)

 

 

※ 이렇게 선언하면 포인터가 일반변수가 된다

   int * p          ,       p2;

           ↑포인터                ↑일반변수

 

● 포인터 차원?

포인터가 얼마나가야 일반변수가 되나?

&p    

  p     2차원

*p     1차원

**p    0차원

 

 

● 배열이란?

같은 자료형의 연속적인 기억공간 하나의 이름과 인덱스([,])로 변수를 관리한다

● int a[]

운영체제로 부터 메모리 공간 어딘가에 int 정수 4바이트 X 그배열의 크기 만큼의 공간을 연속적으로 할당받고 그앞에 a라는 문패를 만들고 그속에는 각각 쓰레기 값이 들어있다.

 

● 변수와 배열의 차이

1. 그 연속된 공간의 맨처음 위치

2. 총크기는 타입 크기 X 연속된 개수

3. 배열의 이름 -> 포인터

 

 

모두 같은뜻

 

● int array[10]

int 형 이므로 4바이트 만큼 주소가 건너뛴다.

 

 

● 모배열 특징

모배열은 포인트 변수

하지만 주소값을 변경할 수 없다 (상수)

주소값이 바뀌면 배열 위치를 알수 없기 때문

배열상수 == 배열의 이름 == 모배열 == 상수포인터

 

● A[2]

     A

현재 배열의 맨처음 위치를 나타내는 동시에 배열의 이름이 된다. 보통 배열 A라고 부른다

위와 같은 A를 모배열이라고 부른다

 

[2]

현재 배열에서 이 변수의 위치를 나타내는 수로 0부터 표시되기 때문에 현재 이 변수는 2번째 있는 변수라는 걸 알수 있다

위와 같은 [ ] 안의 수를 인덱스(index) 라고 한다.

 

● 키포인트

배열 요소들은 언제나 메모리에 연속적으로 저장된다

모배열은 왼쪽 값(L-value)로 사용불가능 하다

 

 

 

 

'프로그래밍 > 공부' 카테고리의 다른 글

14일차  (0) 2013.01.30
13일차  (0) 2013.01.29
11일차  (0) 2013.01.25
10일차  (0) 2013.01.24
9일차  (0) 2013.01.24
Posted by 피씨컴