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

문자열과 그 주소에 대한 포인터 배열을 인쇄하는 C 프로그램

<시간/>

먼저 C 프로그래밍 언어의 포인터 배열이 무엇인지 이해합시다.

포인터 배열:(문자열)

  • 요소가 문자열의 기본 추가에 대한 ptr인 배열입니다.

  • 다음과 같이 선언하고 초기화합니다 -

char *a[ ] = {"one", "two", "three"};

여기서 a[0]은 문자열 "one"의 기본 추가에 대한 포인터입니다.

a[1]은 문자열 "two"의 기본 추가에 대한 포인터입니다.

a[2]는 문자열 "3"의 기본 추가에 대한 포인터입니다.

문자열과 그 주소에 대한 포인터 배열을 인쇄하는 C 프로그램

장점

포인터 배열의 장점은 아래에 설명되어 있습니다 -

  • 문자열의 배열과 문자열에 대한 포인터의 배열에서 2차원 문자 배열의 연결을 해제합니다. 저장을 위한 고정 메모리 크기는 없습니다.

  • 문자열은 필요한 만큼만 바이트를 차지하므로 공간 낭비가 없습니다.

예시

문자열에 대한 포인터 배열과 주소를 인쇄하는 개념을 보여주는 C 프로그램은 다음과 같습니다. -

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers, for loop variable//
   int i;
   char *a[5]={"One","Two","Three","Four","Five"};
   //Printing values within each string location using for loop//
   printf("The values in every string location are : \n");
   for(i=0;i<5;i++){
      printf("%s\n",a[i]);
   }
   //Printing addresses within each string location using for loop//
   printf("The address locations of every string values are : \n");
   for(i=0;i<5;i++){
      printf("%d\n",a[i]);
   }
}

출력

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

The values in every string location are:
One
Two
Three
Four
Five
The address locations of every string values are:
4210688
4210692
4210696
4210702
4210707

예시 2

다른 예를 살펴보겠습니다.

아래는 string −

에 대한 포인터 배열의 개념을 보여주는 C 프로그램입니다.
#include<stdio.h>
#include<string.h>
void main(){
   //Declaring string and pointers//
   char string[10]="TutorialPoint";
   char *pointer = string;
   //Printing the string using pointer//
   printf("The string is : ");
   while(*pointer!='\0'){
      printf("%s",*pointer);
      pointer++;
   }
}

출력

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

The string is: TutorialPoint