C의 포인터에 대해 알아야 할 모든 것



이 기사는 배우기 까다로운 주제로 생각되는 주제를 소개 할 것이며, 우리는 C 언어의 포인터 주제를 언급하고 있습니다.

C를 배우는 동안 '포인터'라는 용어를 접하고 이해하기 어려운 개념이라는 말을 자주 들었을 것입니다. 포인터는 다양한 프로그래밍 작업에 도움이되며 이해하기 어렵지 않습니다. 이 기사는 C의 포인터를 소개하고 그들이 보이는 것처럼 배우기가 그렇게 어렵지 않은 이유를 알려줄 것입니다.

다음은이 기사에서 다루는 포인터입니다.





  1. 포인터 란?
  2. 참조 및 참조 해제 연산자
  3. 포인터 유형
  4. 포인터 사용 방법

C 기사에서이 포인터의 첫 번째 비트부터 시작하겠습니다.

C의 포인터

포인터 란?

포인터는 변수의 주소를 저장할 수있는 변수입니다. 이제 그 용도가 무엇인지 물어볼 수 있습니다. 기본적으로 포인터는 주소가 제공된 변수의 메모리 위치를 가리 킵니다. 이 속성은 프로그래밍의 중요한 측면 인 동적 메모리 할당에 도움이됩니다.



구문을 이해하고 예를 살펴 보겠습니다.

Data_Type * pointer_name

예: int * ptr

다음은이 C의 포인터 기사의 다음 부분입니다.



참조 및 참조 해제 연산자

포인터의 개념에 대해 더 깊이 들어가기 전에 나중에 도움이 될 몇 가지 기본 사항을 이해하겠습니다. 포인터를 사용하는 동안 반드시‘&’및‘*’연산자를 사용하게됩니다. 이제 그 의미와 사용법을 이해할 때입니다.

먼저 '주소'연산자라고하는 참조 연산자에 대해 알아 보겠습니다. 변수와 함께 (앰퍼샌드) 연산자를 사용하면 주어진 변수의 주소라고도하는 메모리 위치가 반환됩니다.

모델보기 컨트롤러 자바 예제

int * ptr int a ptr = & a

변수‘a’의 주소는 변수 ptr에 저장됩니다.

이제 별표 (*)로 표시되는 참조 해제 또는 '값'연산자를 이해하겠습니다. 포인터 변수에 저장된 메모리 위치에서 값을 검색하는 데 도움이됩니다.

int * ptr int a * ptr = & a printf ( '값 a = % dn', * ptr)

포인터의 종류 포인터를 선언하는 동안 사용되는 *는 De-Referencing을위한 것이 아니라 주어진 변수가 포인터임을 컴파일러에게 알려줍니다.위의 print 문은 메모리 위치에있는 값을 인쇄하고이 메모리 위치는 포인터로 가리 킵니다. 즉 변수 'a'의 값입니다.

프로그램에서 사용되는 방식에 따라 다른 여러 유형의 포인터가 있습니다.가장 일반적으로 사용되는 몇 가지 유형을 살펴 보겠습니다.

널 포인터

할당 할 주소가 확실하지 않은 경우 포인터에 null 값이 할당됩니다. 선언 할 때 포인터에 'NULL'값을 할당하여 수행 할 수 있습니다. 이 포인터의 값은 0입니다.

int * ptr = NULL

와일드 포인터

포인터 변수에 값을 할당하지 않으면 와일드 포인터가 생성됩니다. 예상치 못한 결과가 발생할 수 있으므로 신중하게 사용해야합니다.

댕글 링 포인터

석사와 동일 대학원

포인터가 삭제 된 변수 또는 할당 해제 된 메모리를 가리킬 때 포인터를 댕글 링 포인터라고합니다.이 포인터는 존재하지 않는 메모리 위치를 가리 킵니다. C 기사에서이 포인터의 다음 부분을 살펴 보겠습니다.

포인터 사용 방법

이제 참조 및 역 참조 연산자에 대해 간략하게 이해했습니다. 이 섹션에서는 포인터를 사용하는 방법을 이해합니다. 지금까지 포인터를 선언하고 기본 작업에 사용하는 방법을 배웠습니다. 이 시점에서 우리는 산술 연산을 수행하여 정말 놀라운 프로그래밍 작업에 포인터를 사용할 수있는 충분한 지식을 가지고 있습니다.

일반적으로 이러한 작업은 어레이에서 수행됩니다. 2 개의 주소를 빼면 2 개의 메모리 위치 사이의 거리를 얻을 수 있습니다.

int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * 작업을 수행 할 배열 * / int * ptr / * Pointer * / ptr = First_array / * 포인터 변수에 배열 주소 할당 * / for (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } } 

산출

출력-C의 포인터-Edureka직접 코드를 구현하고 다른 산술 연산을 수행하십시오.문자열에 포인터를 사용합시다.

#include #include int main () {char str [] = 'Hello World'/ * 배열 만들기 * / char * p / * Pointer * / p = str printf ( '문자열에있는 모든 문자 인쇄') p = str for (int i = 0i


이것으로 우리는‘Pointers In C’에 대한이 블로그의 끝으로갑니다. 이 정보가 유익하고 도움이 되었기를 바랍니다. 유사한 주제에 대한 더 많은 자습서를 기대해주세요. 교육 프로그램을 확인해보세요.
o 다양한 응용 프로그램과 함께 jQuery에 대한 심층적 인 지식을 얻으면 연중 무휴 지원 및 평생 액세스가 가능한 라이브 온라인 교육.다른 문자열과 수정으로 위의 코드를 구현하십시오. 이제 포인터와 관련된 모든 주요 개념을 잘 이해했습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에서이를 언급하시면 다시 연락 드리겠습니다.