배열과 포인터
-
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..
-
C언어 포인터(pointer)Visual Studio/C 기초 2012. 9. 3. 22:53
이번엔 아주아주 중요한 포인터에 대해 알아보겠습니다. 포인터에 대해 먼저, 변수에 선언된 값은 메모리에 저장됩니다. 그 저장된 값의 주소를 가리키는 것을 포인터라 합니다. 컴퓨터의 메모리는 아주 많은 저장 구역으로 구성되고 각각의 위치는 주소에 의해 구분됩니다. 메모리의 주소는 0부터 최대 메모리의 양 까지입니다. 프로그램 내에서 변수의 이름을 사용할 때 변수는 해당 메모리 영역을 자동으로 사용하게 되는데, 실제로 메모리 영역의 주소가 사용되는 것 이지만 프로그래머는 이런 사실을 깨닫지도 못합니다. 어느 변수(pnt)가 있다고 칩시다. 먼저 변수 pnt를 선언을 해봅시다. int pnt; 그다음, pnt의 주소를 가리킬 포인터를 생성시킵니다. int *thr; 포인터는 *를 붙여주면 됩니다.(포인터의 이..