C-포인터

광고

C 포인터는 쉽고 재미있게 배울 수 있습니다. 일부 C 프로그래밍 작업은 포인터를 사용하여 더 쉽게 수행되며 동적 메모리 할당과 같은 다른 작업은 포인터를 사용하지 않고 수행 할 수 없습니다. 따라서 완벽한 C 프로그래머가되기 위해서는 포인터를 배울 필요가 있습니다. 간단하고 쉬운 단계로 학습을 시작하겠습니다.

알다시피 모든 변수는 메모리 위치이며 모든 메모리 위치에는 앰퍼샌드를 사용하여 액세스 할 수있는 주소가 정의되어 있습니다 (&) 연산자, 메모리의 주소를 나타냅니다. 정의 된 변수의 주소를 출력하는 다음 예제를 고려하십시오-

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. 결과 −

Address of var1 variable: bff5a400Address of var2 variable: bff5a3f6

포인터 란 무엇입니까?

포인터는 값이 다른 변수의 주소, 즉 직접 주소 인 변수입니다. 변수 나 상수와 마찬가지로 포인터를 사용하여 변수 주소를 저장해야합니다. 포인터 변수 선언의 일반적인 형식은 다음과 같습니다.-

type *var-name;

여기서 type은 포인터의 기본 유형입니다. 유효한 C 데이터 유형이어야하며 var-name은 포인터 변수의 이름입니다. 포인터를 선언하는 데 사용되는 별표 *는 곱셈에 사용되는 별표와 동일합니다. 그러나이 명령문에서 별표는 변수를 포인터로 지정하는 데 사용됩니다. 유효한 포인터 선언 몇 가지를 살펴보십시오-

int *ip; /* pointer to an integer */double *dp; /* pointer to a double */float *fp; /* pointer to a float */char *ch /* pointer to a character */

정수, 부동 소수점, 문자 또는 기타 여부에 관계없이 모든 포인터 값의 실제 데이터 유형 는 동일하며 메모리 주소를 나타내는 긴 16 진수입니다. 서로 다른 데이터 유형의 포인터 간의 유일한 차이점은 포인터가 가리키는 변수 또는 상수의 데이터 유형입니다.

포인터 사용 방법

몇 가지 중요한 작업이 있습니다. 우리는 포인터의 도움으로 매우 자주 할 것입니다. (a) 포인터 변수를 정의하고, (b) 변수의 주소를 포인터에 할당하고 (c) 마지막으로 포인터 변수에서 사용 가능한 주소의 값에 액세스합니다. 이는 피연산자가 지정한 주소에있는 변수의 값을 반환하는 단항 연산자 *를 사용하여 수행됩니다. 다음 예제는 이러한 연산을 사용합니다.-

위 코드가 컴파일되고 실행되면 다음 결과가 생성됩니다.-

Address of var variable: bffd8b3cAddress stored in ip variable: bffd8b3cValue of *ip variable: 20

NULL 포인터

정확한 주소를 할당 할 수없는 경우 항상 포인터 변수에 NULL 값을 할당하는 것이 좋습니다. 이것은 변수 선언시 수행됩니다. NULL이 할당 된 포인터를 널 포인터라고합니다.

NULL 포인터는 여러 표준 라이브러리에 정의 된 값이 0 인 상수입니다. 다음 프로그램을 고려하십시오-

#include <stdio.h>int main () { int *ptr = NULL; printf("The value of ptr is : %x\n", ptr ); return 0;}

위 코드가 컴파일되고 실행되면 다음 결과가 생성됩니다-

The value of ptr is 0

대부분의 운영 체제에서 프로그램은 주소 0의 메모리에 액세스 할 수 없습니다. 해당 메모리는 운영 체제에 의해 예약되어 있기 때문입니다. 그러나 메모리 주소 0은 특별한 의미가 있습니다. 포인터가 액세스 가능한 메모리 위치를 가리 키도록 의도되지 않았 음을 나타냅니다. 그러나 관례 상 포인터에 null (영) 값이 포함되어 있으면 아무것도 가리키는 것으로 간주되지 않습니다.

널 포인터를 확인하려면 다음과 같이 “if”문을 사용할 수 있습니다.-

if(ptr) /* succeeds if p is not null */if(!ptr) /* succeeds if p is null */

상세한 포인터

포인터는 많지만 쉬운 개념을 가지고 있으며 C 프로그래밍에 매우 중요합니다. 다음과 같은 중요한 포인터 개념은 모든 C 프로그래머에게 명확해야합니다.

Sr.No.

th>

개념 & 설명
1 포인터 산술

포인터에 사용할 수있는 산술 연산자는 ++,-, +,-

2 포인터 배열

여러 포인터를 담을 배열을 정의 할 수 있습니다.

3 포인터에 대한 포인터

C를 사용하면 포인터 등에 포인터를 둘 수 있습니다.

4 C에서 함수에 대한 포인터 전달

전달 참조 또는 주소에 의한 인수를 사용하면 호출 된 함수가 호출 함수에서 전달 된 인수를 변경할 수 있습니다.

5 반환 C

C 함수의 포인터를 사용하면 함수가 로컬 변수, 정적 변수 및 동적으로 할당 된 메모리에 대한 포인터를 반환 할 수 있습니다.

광고

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다