CHARACTER ARRAYS AND STRINGS IN C













CHARACTER ARRAYS AND STRINGS

       
              A STRING IS A SEQUENCE OF CHARACTERS THAT IS TREATED AS A SINGLE DATA ITEM. ANY GROUP OF CHARACTER DEFINE BETWEEN DOUBLE QUOTES IS A STRING CONSTANT.







DECLARING AND INITIALIZING STRING VARIABLES

      C DOES NOT SUPPORT STRING AS  A DATA TYPE. IT ALLOWS US TO REPRESENT STRINGS AS CHARACTER ARRAYS. A STRING VARIABLE IS ANY VALID C VARIABLE NAME AND IS ALWAYS DECLARED AS AN ARRAY OF CHARACTER. THE GENERAL FORM OF A STRING VARIABLE IS ,





CHAR STRING NAME [ SIZE ];

EXAMPLE :    CHAR   NAME  [ 30 ];



   CHARACTER ARRAYS CAN BE INITIALIZED WHEN THEY ARE DECLARED. A CHARACTER ARRAY CAN BE INITIALIZED BY TWO FORMS.






CHAR CITY [ 9 ] = " NEW YORK "; 



      CHARACTER ARRAYS CAN BE INITIALIZED WHEN THEY ARE DECLARED. A CHARACTER ARRAY CAN BE INITIALIZED BY TWO FORMS.





 CHAR CITY [ 9 ] = " NEW YORK";

 CHAR CITY [ 9 ] = { 'N','E','W',' ','Y','O','R','K' }



READING STRING FROM TERMINAL

       

USING SCANF FUNCTION

      THE FAMILIAR INPUT FUNCTION SCANF CAN BE USED WITH %S FORMAT SPECIFICATION TO READ IN A STRING OF CHARACTERS.





EXAMPLE :  

                         CHAR   ADDRESS [ 10 ];
                             
                         SCANF("%S",ADDRESS);


USING GETCHAR( ) AND GETS( ) FUNCTIONS

          TO READ A SINGLE CHARACTER FROM THE TERMINAL USING THE FUNCTION GETCHAR( ). GETCHAR( ) REPEATEDLY READ SUCCESSIVE SINGLE CHARACTERS FROM THE INPUT AND PLACE THEM INTO A CHARACTER ARRAY. THE GETCHAR FUNCTION CALL TAKES THE FORM.





EXAMPLE : 

                       CHAR CH;

                       CH = GETCHAR( );

         ANOTHER AND MORE CONVENIENT METHOD OF READING A STRING OF TEXT CONTAINING WHITE SPACES IS TO USE THE LIBRARY FUNCTION GETS AVAILABLE IN THE < STDIO.H > HEADER FILE. THIS  IS A SIMPLE FUNCTION WITH ONE STRING PARAMETER AND CALLED AS FOLLOW.





             GETS( STR );

EXAMPLE :

                         CHAR LINE [ 80 ];

                         GETS  ( LINE );

                         PRINTF(" %S ",LINE);


WRITING STRINGS TO SCREEN ( USING PRINTF )

      THE PRINTF FUNCTION  WITH %S FORMAT TO PRINT STRINGS TO THE SCREEN. THE FORMAT %S CAN BE USED TO DISPLAY AN ARRAY OF CHARACTERS THAT IS TERMINATED BY THE NULL CHARACTER.






EXAMPLE :

                      PRINTF ( " %S ",NAME);
 

USING PUTCHAR( ) AND PUTS( ) FUNCTIONS

      C SUPPORTS ANOTHER CHARACTER HANDLING FUNCTION PUTCHAR( ) TO OUTPUT THE VALUES OF CHARACTER VARIABLES. IT TAKES THE FOLLOWING FORM.





            CHAR  CH = ' A ';

            PUTCHAR( CH );

EXAMPLE : 

                    CHAR NAME [ 6 ] = " PARIS ";

                    FOR( I = 0; I < 5; I++)

                    PUTCHAR( NAME [ I ]  );

                    PUTCHAR( ' \N ' );

          ANOTHER  AND MORE CONVENIENT WAY OF PRINTING STRING VALUES IS TO USE THE FUNCTION PUTS DECLARED IN THE HEADER FILE < STDIO.H >. THIS IS ONE PARAMETER FUNCTION AND INVOKED AS UNDER.





              PUTS( STR );

EXAMPLE :

                       CHAR LINE [ 80 ];

                       GETS( LINE );

                        PUTS( LINE );


PUTTING STRINGS TOGETHER

        JUST AS WE CANNOT ASSIGN ONE STRING TO ANOTHER DIRECTLY, WE CANNOT JOIN TWO STRINGS TOGETHER BY THE SIMPLE ARITHMETIC ADDITION. THAT IS, THE STATEMENT SUCH AS





STRING 3 = STRING 1 + STRING 2;

STRING 2 = STRING 1 + " HELLO ";

ARE NOT VALID. THE CHARACTERS FROM STRING 1 AND STRING 2 SHOULD BE COPIED INTO THE STRING 3 ONE AFTER THE OTHER. THE SIZE OF THE ARRAY STRING 3 SHOULD BE LARGE ENOUGH TO HOLD THE TOTAL CHARACTERS.
THE PROCESS OF COMBINING TWO STRINGS TOGETHER IS CALLED CONCATENATION.

STRING HANDLING FUNCTIONS

          THE C LIBRARY SUPPORTS A LARGE NUMBER OF STRING HANDLING FUNCTIONS THAT CAN BE USED TO CARRY OUT MANY OF THE STRING MANIPULATION.












STRCAT( ) FUNCTION

        THE STRCAT( ) FUNCTION JOINS TWO STRING TOGETHER. IT TAKE THE FOLLOWING FORM.

            STRCAT( STRING 1, STRING 2 );

STRCMP( ) FUNCTION

       THE STRCMP( ) FUNCTION COMPARES TWO STRINGS IDENTIFIED BY THE ARGUMENTS AND HAS A VALUE 0 IF THEY ARE EQUAL. IF THEY ARE NOT, IT HAS THE NUMERIC DIFFERENCE BETWEEN THE FIRST NON MATCHING CHARACTERS IN THE STRINGS. IT TAKES THE FORM.





           STRCMP( STRING 1, STRING 2 );

 

STRCPY( ) FUNCTION

         THE STRCPY( ) FUNCTION WORKS ALMOST LIKE A STRING ASSIGNMENT OPERATOR. IT TAKE THE FORM.





              STRCPY( STRING 1, STRING 2 );


STRLEN( ) FUNCTION

        THE STRLEN( ) FUNCTION COUNTS AND RETURNS THE NUMBER OF CHARACTERS IN A STRING. IT TAKE THE FORM.

             N = STRLEN( STRING );



OTHER STRING FUNCTIONS


STRNCPY( ) FUNCTION

        WE HAVE ANOTHER FUNCTION STRNCPY( ) THAT COPIES ONLY THE LEFT MOST N CHARACTERS OF THE SOURCE STRING TO THE TARGET STRING VARIABLE.





           STRNCPY( S1, S2, N );

STRNCMP( ) FUNCTION

       A VARIATION OF THE STRCMP( ) FUNCTION IS THE STRNCMP( ) FUNCTION.






           STRNCMP( S1, S2, N ); 


STRNCAT( ) FUNCTION

       THIS IS ANOTHER CONCATENATION FUNCTION THAT TAKES THREE PARAMETERS.





         STRNCAT( S1, S2, N );

STRSTR( ) FUNCTION

         IT IS A TWO PARAMETER FUNCTION THAT CAN BE USED TO LOCATE A SUB STRING IN A STRING.

         STRSTR( S1, S2 );



















FOR MORE C PROGRAMS AND TUTORIALS PLEASE SUBSCRIBE MY YOUTUBE CHANNEL






































Comments