포인터
[C,C++] 이중 포인터
이중 포인터 포인터 변수를 가리키는 포인터 = 포인터의 포인터 포인터 변수도 메모리를 차지하고 있으므로 이 변수도 당연히 번지가 있다. 그래서 이중포인터를 선언할 수 있다. 이중 포인터 변수를 선언할 떄는 * 구두점을 두 번 연속해서 쓴다. int **ppi; = 정수형 대상체를 가리키는 포인터 변수의 번지를 가리키는 포인터 int **ppi == (int *) *ppi; ex) dbIPointer { int i; int *pi; int **ppi; i = 1234; pi = &i; ppi = π printf("%d\n",**ppi); } 정수형 포인터 pi가 i의 번지를 가지고 정수형 이중 포인터 변수 ppi에는 pi의 번지를 대입해 놓고 ** 값을 읽으면 결국 i값이 읽혀진..
[C,C++] 포인터 연산
포인터 연산 T형 포인터 ( type ) 임의의 타입 T가 있을 때 T형의 포인터 변수를 선언할 수 있다. int, char , double 등의 기본적인 데이터 타입형의 변수를 선언할 수 있음을 물론이고 구조체, 공용체, 배열에 대해서도 포인터형을 만들 수 있다. * int , * char , * double 가리키는 대상체(포인터가 가리키는 실체)와 포인터의 타입이 일치해야 한다. # 이건 기본 상식.. 메모리 위치를 가리키는 포인터는 자신이 가리키고 있는 번지에 저장된 값이 어떤 종류인지를 기억하고 있어야 하며 이런 이유로 포인터를 선언할 때 대상체의 타입을 밝혀야 한다. #증감연산자를 사용해서 현재 위치에서 앞뒤로 이동 번지를 가리키는 포인터도 일종의 변수이므로 실행 중에 ..
[C,C++] 포인터의 정의 , 포인터 란?
포인터란? 정수형이나 실수형의 일반적인 변수들은 수치값을 저장한다. 이에 비해 포인터형은 번지를 기억한다. 포인터의 쓰임 데이터가 보관되어 있는 메모리 위치를 기억하고 있기 때문에 직접 값을 조작할 수도 있고 주변의 다른 값 까지도 손댈 수 있다. 위치는 단순히 4바이트의 번지이기 떄문에 함수의 인수로 전달하거나 받기도 효율적이며 함수로 포인터를 전달하면 포인터가 가리키는 메모리를 함수가 직접 조작이하는 것이 가능하다. 번지(address)의 개념 컴퓨터의 주 기억장치로 사용되는 RAM은 용량이 아주 커서 보통 백만 , 10억 단위를 사용한다. 32비트 운영체제에서 각 프로그램은 32비트의 가상 메모리 공간을 사용할 수 있다. 즉 값을 기억할 수 있는 메모리의 용량은 최대4G가 된다. 컴퓨터는 ..