c 포인터 예제

포인터를 선언한 후 변수 주소가 있는 표준 변수처럼 초기화합니다. 포인터가 초기화되지 않고 프로그램에서 사용되지 않으면 결과를 예측할 수 없고 잠재적으로 재앙이 될 수 있습니다. * 연산자를 사용하여 포인터를 통해 변수의 값에 액세스 할 수 있습니다. 예를 들어 포인터 ptr이 함수로 함수로 전송되는 경우 배열 val도 비슷한 방식으로 액세스할 수 있습니다. U는 나에게 포인터를 사용하여 간단한 계산기에 대한 프로그램을 제공 할 수 있습니다 포인터는 아무것도 초기화되지 않는 경우 야생 포인터라고합니다. 이러한 유형의 포인터는 프로그램에서 문제를 일으킬 수 있는 알 수 없는 메모리 위치를 가리킬 수 있으며 프로그램의 충돌이 발생할 수 있으므로 효율적이지 않습니다. 와일드 포인터로 작업하는 동안 항상 주의해야합니다. 포인터와 배열이 식에서 동일한 방식으로 행동하므로 ptr을 사용하여 문자열 리터럴의 문자에 액세스할 수 있습니다. 예를 들어 위의 포인터 선언의 몇 가지 예입니다. 정수 변수의 주소를 저장하는 포인터가 필요한 경우 포인터의 데이터 형식이 int여야 합니다. 후자의 경우 괄호가 필요합니다: unary 연산자 * 및 ++가 오른쪽에서 왼쪽으로 평가되므로 괄호 없이 포인터 P가 증가되고 P가 가리키는 개체가 아닙니다. 1) 포인터에 대한 포인터 – 포인터는 다른 포인터를 가리킬 수 있습니다 (즉, 다른 포인터의 주소를 저장할 수 있음), 이러한 포인터는 포인터에 대한 이중 포인터 OR 포인터라고합니다.

포인터에는 많은 기능이 있지만 포인터의 몇 가지 단점이 있기 때문에 제한된 산술 연산 집합은 포인터에서 수행 할 수 있습니다 : 포인터는 유효한 주소를 가리키지만 반드시 유효한 요소 (배열등)를 가리키지 않아야합니다. 이를 잘못된 포인터라고 합니다. 초기화되지 않은 포인터도 잘못된 포인터입니다. 이 프로그램에서는 int 형식의 변수 num이 있습니다. num 의 값은 10이며이 값은 메모리어딘가에 저장되어야합니다. 메모리 공간은 해당 변수의 값을 보유 하는 각 변수에 대 한 할당, 이 메모리 공간에 는 주소가 있습니다. 예를 들어 우리는 집에 살고 우리 집에는 주소가있어 다른 사람들이 우리 집을 찾는 데 도움이됩니다. 변수의 값이 메모리 주소에 저장되는 것과 동일한 방식으로 C 프로그램이 필요할 때 해당 값을 찾는 데 도움이 됩니다. 포인터 그림에 대한 간단한 프로그램은 다음과 같습니다 : 여기, ptr1은 초기화되지 않으므로 잘못된 포인터가되고 ptr2는 arr의 범위를 벗어났기 때문에 잘못된 포인터가됩니다. (참고 : 잘못된 포인터가 반드시 컴파일 오류를 발생시키지는 않습니다). 이 프로그램은 포인터가 선언되고 사용되는 방법을 보여줍니다.