포인터는 다른 변수의 주소를 저장하는 변수입니다.
다음 진술을 고려하십시오 -
int qty = 179;

포인터 선언
포인터 선언 구문은 다음과 같습니다 -
int *p;
여기서 'p'는 다른 변수의 주소를 담는 포인터 변수입니다.
포인터 초기화
주소 연산자(&)는 포인터 변수를 초기화하는 데 사용됩니다.
예를 들어,
int qty = 175; int *p; p= &qty;
포인터 배열
주소 모음(또는) 포인터 모음입니다.
선언
다음은 포인터 배열에 대한 선언입니다 -
datatype *pointername [size];
예를 들어,
int *p[5];
5개의 정수 요소 주소를 보유할 수 있는 포인터 배열을 나타냅니다.
초기화
'&'는 초기화에 사용됩니다.
예를 들어,
int a[3] = {10,20,30};
int *p[3], i;
for (i=0; i<3; i++) (or) for (i=0; i<3,i++)
p[i] = &a[i];
p[i] = a+i; 액세스
접근시 간접연산자(*)를 사용합니다.
예를 들어,
for (i=0, i<3; i++)
printf ("%d", *p[i]); 프로그램
다음은 포인터를 사용하여 배열 요소의 합을 계산하는 C 프로그램입니다 -
//sum of array elements using pointers
#include <stdio.h>
#include <malloc.h>
void main(){
int i, n, sum = 0;
int *ptr;
printf("Enter size of array : \n");
scanf("%d", &n);
ptr = (int *) malloc(n * sizeof(int));
printf("Enter elements in the List \n");
for (i = 0; i < n; i++){
scanf("%d", ptr + i);
}
//calculate sum of elements
for (i = 0; i < n; i++){
sum = sum + *(ptr + i);
}
printf("Sum of all elements in an array is = %d\n", sum);
return 0;
} 출력
위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -
Enter size of array: 5 Enter elements in the List 12 13 14 15 16 Sum of all elements in an array is = 70