C ++에서 포인터를 구현하는 방법?



이 기사에서는 C ++의 포인터 개념을 소개 한 다음 지원하는 실용적인 데모를 따라갑니다.

포인터 C ++에서 C ++에서 다른 변수의 주소를 보유하는 변수입니다. 주소는 포인터 변수에 저장되며 참조 별 호출 구현에 도움이됩니다.

이 기사에서는 다음 사항을 다룰 것입니다.





C ++의 포인터에 대한이 기사부터 시작

통사론:



데이터 유형 * pointername 예 : int * ptr
  • 포인터 변수는 이름 앞에 * 기호가 있습니다.
  • 포인터는 로케이터 또는 인디케이터라고도합니다.

포인터의 용도 :

  • 동적 메모리 할당
  • 배열, 구조 및 기능의 다양한 프로그램에서

다음은 예제 코드입니다.

#include using namespace std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

산출:
C ++의 출력 포인터-Edureka



설명:

위의 프로그램에서 우리는 포인터의 기본적인 동작을 보여줍니다. 값이 17 인 정수 변수 num이 있습니다. int 유형의 포인터 변수 ptr이 있습니다. 포인터 ptr에 num의 주소를 할당합니다.

먼저 주소 인 ptr의 값을 인쇄합니다. 다음으로 num 값을 인쇄하고 마지막에 ptr 포인터가 보유한 위치에 값을 인쇄합니다.

C ++의 포인터에 대한이 기사로 이동

포인터와 배열 :

배열 이름에 첫 번째 요소의 주소가 포함되어 있으므로 배열의 첫 번째 요소를 포인터로 간주 할 수 있습니다. 다음과 같은 방식으로 포인터를 사용할 수 있습니다.

typecast double to int java

다음은 예제 코드입니다.

#include using namespace std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 산출: 

설명:

위의 프로그램에서 우리는 배열이있는 포인터의 기본적인 동작을 보여줍니다. 값이 5,10,20 인 배열 arr이 있습니다. int 유형의 포인터 변수 ptr이 있습니다. 포인터 ptr에 arr의 주소를 할당합니다.

먼저 배열의 첫 번째 요소 인 ptr [0]의 값을 인쇄합니다. 다음으로 두 번째와 세 번째 요소를 각각 인쇄합니다. 배열 요소가 연속적으로 저장되므로 포인터는 증분을 통해 배열의 다른 위치에 액세스 할 수 있습니다.

C ++의 포인터에 대한이 기사로 이동

널 포인터 :

값이없고 null 값을 보유하는 포인터 유형이 있습니다.

:

int * ptr = NULL

연결 목록과 같은 데이터 구조에서 매우 유용합니다.

C ++의 포인터에 대한이 기사로 이동

공허 포인터 :

반환 유형이없는 포인터 유형입니다.

C ++의 포인터에 대한이 기사로 이동

Visual Studio 사용법 배우기

포인터 산술 연산 :

포인터에 대해 다른 작업을 수행 할 수 있습니다. 다음은 몇 가지 중요한 유형입니다.

  • 증분 (++)
  • 감소 (—)
  • 두 포인터의 차이 (p1-p2)
  • 포인터에 정수 추가 (+ 또는 + =)
  • 포인터에서 정수 빼기 (– 또는-=)

다음은 이러한 작업 중 일부를 데모하는 코드입니다.

#include using namespace std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

산출:

설명:

위의 프로그램은 포인터 변수 증가의 간단한 산술 연산을 보여줍니다.

C ++의 포인터에 대한이 기사로 이동

포인터에 대한 포인터 :

이 유형의 시스템에는 두 개의 포인터가 있습니다. 첫 번째 포인터는 두 번째 포인터를 가리키고 두 번째 포인터는 값을 보유하고있는 변수를 가리 킵니다.

다음은 예제 코드입니다.

#include using namespace std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

산출:

C ++의 포인터에 대한이 기사로 이동

함수에 대한 포인터 :

이것은 함수에 대한 포인터를 전달하는 방법입니다. 함수 매개 변수는 포인터 유형으로 선언되어야합니다. 아래 코드에 나와 있습니다.

#include using namespace std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


산출

이것이 함수에 대한 포인터를 전달하는 방법입니다.

따라서 우리는 'C ++의 포인터'에 대한이 기사의 끝까지 왔습니다. 자세한 내용은 다음을 확인하십시오. 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 제공합니다. Hibernate 및 Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.