ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C++ 배열과 포인터
    Visual Studio/C++ 기초 2013. 11. 21. 15:55

    배열을 사용하기 위해서는 배열명, 배열 크기, 배열 요소를 지정해야 합니다. 배열명은 해당 배열의 시작 주소이고, C++에선 배열명을 사용해서 배열의 시작 위치를 설정합니다.

    int x[5] = {1, 2, 3, 4, 5}, *ptr;

    ptr = x; 

    포인터 변수 ptr에게 배열 x를 대입하였습니다. x는 배열명이기 때문에 해당 배열의 시작 주소 값입니다. 이를 쉽게 설명하면

     

    x[0]의 시작 주소를 포인터 변수 ptr이 가지고 있기 때문에 ptr을 사용해서 배열 x를 처리할 수 있습니다. 구체적으로 표현하면 아래와 같습니다.

    ptr    == &x[0]    *ptr       == x[0]
    ptr+1 == &x[1]    *(ptr+1) == x[1]
    ptr+2 == &x[2]    *(ptr+2) == x[2]
    ptr+3 == &x[3]    *(ptr+3) == x[3]
    ptr+4 == &x[4]    *(ptr+4) == x[4]

    x[i]와 (ptr+i)는 동일하단 것을 알 수 있습니다. 간단한 예제를 보겠습니다.

    #include <iostream>
    using namespace std;

    void main(){
     int arr[5] = {1, 2, 3, 4, 5}, *ptr, i;

     ptr = arr;

     for(i=0; i<5; i++)
      cout << arr[i] << ", " << *(ptr+i) << "\n";

     for(i=0; i<5; i++)
      cout << &arr[i] << ", " << ptr+i << "\n";
    }
     

     

     

     

    'Visual Studio > C++ 기초' 카테고리의 다른 글

    C++ int argc, char *argv[]  (1) 2013.12.05
    C++ 포인터 연산  (0) 2013.11.25
    C++ 다차원 배열  (0) 2013.11.07
    C++ 1차원 배열  (2) 2013.11.07
    C++ 포인터  (0) 2013.11.05

    댓글

Designed by Tistory.