포인터 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' }
산출:
설명:
위의 프로그램에서 우리는 포인터의 기본적인 동작을 보여줍니다. 값이 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 개념 모두에 대해 교육하도록 설계되었습니다.
질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.