How to create a pointer for strings using C language?


Arrays of pointers (to strings)

Array of pointers is an array whose elements are pointers to the base address of the string.

It is declared and initialized as follows −

char *a[3 ] = {"one", "two", "three"};
//Here, a[0] is a ptr to the base add of the string "one"
//a[1] is a ptr to the base add of the string "two"
//a[2] is a ptr to the base add of the string "three"

Advantages

  • Unlink the two-dimensional array of characters. In (array of strings), in array of pointers to strings there is no fixed memory size for storage.

  • The strings occupy as many bytes as required hence, there is no wastage of space.

Example 1

#include<stdio.h>
main (){
   char *a[5] = {“one”, “two”, “three”, “four”, “five”};//declaring array of pointers to
   string at compile time
   int i;
   printf ( “The strings are:”)
   for (i=0; i<5; i++)
      printf (“%s”, a[i]); //printing array of strings
   getch ();
}

Output

The strings are: one two three four five

Example 2

Consider another example on array of pointers for strings −

#include <stdio.h>
#include <String.h>
int main(){
   //initializing the pointer string array
   char *students[]={"bhanu","ramu","hari","pinky",};
   int i,j,a;
   printf("The names of students are:
");    for(i=0 ;i<4 ;i++ )       printf("%s
",students[i]);    return 0; }

Output

The names of students are:
bhanu
ramu
hari
pinky

Updated on: 09-Mar-2021

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements