> 백엔드 개발 > C++ > 문자열과 해당 주소에 대한 포인터 배열을 인쇄하는 C 프로그램

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

PHPz
풀어 주다: 2023-08-26 21:01:01
앞으로
1096명이 탐색했습니다.

首先,让我们了解一下C编程语言中的指针数组。

指针数组:(指向字符串)

  • 它是一个数组,其元素是指向字符串基地址的指针。

  • 它的声明和初始化如下所示:

char *a[ ] = {"one", "two", "three"};
로그인 후 복사

在这里,a[0]是指向字符串"one"的基地址的指针。

a[1]是指向字符串"two"的基地址的指针。

a[2]是指向字符串"three"的基地址的指针。

C 程序打印指向字符串的指针数组及其地址

优点

指针数组的优点如下所述 −

  • 与二维字符数组不同,在字符串数组和指向字符串的指针数组中,没有固定的存储内存大小。

  • 字符串只占用所需的字节数,因此不会浪费空间。

示例

下面给出了演示打印指向字符串的指针数组和地址的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 : </p><p>");
   for(i=0;i<5;i++){
      printf("%s</p><p>",a[i]);
   }
   //Printing addresses within each string location using for loop//
   printf("The address locations of every string values are : </p><p>");
   for(i=0;i<5;i++){
      printf("%d</p><p>",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

让我们考虑另一个示例。

下面是一个 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!=&#39;\0&#39;){
      printf("%s",*pointer);
      pointer++;
   }
}
로그인 후 복사

输出

当执行上述程序时,会产生以下结果 -

The string is: TutorialPoint
로그인 후 복사

위 내용은 문자열과 해당 주소에 대한 포인터 배열을 인쇄하는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿