포인터는 다른 변수의 주소를 저장하는 변수입니다.
포인터 선언, 초기화 및 액세스
다음 진술을 고려하십시오 -
int qty = 179;
포인터 선언
int *p;
'p'는 다른 정수 변수의 주소를 담고 있는 포인터 변수입니다.
포인터 초기화
주소 연산자(&)는 포인터 변수를 초기화하는 데 사용됩니다.
int qty = 175; int *p; p= &qty;
포인터가 문자열 배열의 요소에 액세스하는 데 얼마나 유용한지 예를 들어 보겠습니다.
이 프로그램에서는 특정 위치에 있는 요소에 액세스하려고 합니다. 위치는 오퍼레이션을 사용하여 찾을 수 있습니다.
사전 증분 포인터 문자열에 사전 증분 포인터를 추가하고 32를 빼면 해당 위치의 값을 얻을 수 있습니다.
예시
#include<stdio.h> int main(){ char s[] = {'a', 'b', 'c', '\n', 'c', '\0'}; char *p, *str, *str1; p = &s[3]; str = p; str1 = s; printf("%d", ++*p + ++*str1-32); return 0; }
출력
77
설명
p = &s[3]. i.e p = address of '\n'; str = p; i.e str = address of p; str1 = s; str1 = address of 'a'; printf ("%d", ++*p + ++*str1 - 32); i.e printf("%d", ++\n + a -32); i.e printf("%d", 12 + 97 -32); i.e printf("%d", 12 + 65); i.e printf("%d", 77); Thus 77 is outputted