Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 프로그래밍 언어의 포인터 배열 설명

<시간/>

포인터는 다른 변수의 주소를 저장하는 변수입니다.

기능

  • 포인터는 메모리 공간을 절약합니다.
  • 메모리 위치에 직접 접근하기 때문에 포인터의 실행 시간이 더 빠릅니다.
  • 포인터의 도움으로 메모리에 효율적으로 액세스합니다. 즉, 메모리가 동적으로 할당 및 해제됩니다.
  • 포인터는 데이터 구조와 함께 사용됩니다.

포인터 선언 및 초기화

다음 진술을 고려하십시오 -

int qty = 179;

메모리에서 변수는 다음과 같이 나타낼 수 있습니다. -

C 프로그래밍 언어의 포인터 배열 설명

포인터 선언

이것은 'p'가 포인터 변수라는 것을 의미하며, 아래와 같이 다른 정수 변수의 주소를 담고 있습니다 -

Int *p;

포인터 초기화

주소 연산자(&)는 포인터 변수를 초기화하는 데 사용됩니다.

예를 들어 - int qty =175;

정수 *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]);

예시 프로그램

다음은 포인터 배열을 위한 프로그램입니다 -

#include<stdio.h>
main ( ){
   int a[3] = {10,20,30};
   int *p[3],i;
   for (i=0; i<3; i++)
      p[i] = &a[i];
   printf ("elements of the array are \n");
   for (i=0; i<3; i++)
      printf ("%d \t", *p[i]);
}

출력

위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -

elements at the array are : 10 20 30

예시 2

다음은 문자열에 대한 포인터 배열을 위한 프로그램입니다 -

#include <stdio.h>
#include <stdlib.h>
int main(void){
   char *a[5] = {"one", "two", "three", "four", "five"};
   int i;
   printf ( "the strings are at locations:\n");
   for (i=0; i<5; i++)
      printf ("%d\n", a[i]);
   return 0;
}

출력

위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -

The strings are at locations:
4210688
4210692
4210696
4210702
4210707