Pointers and character string
Strings in C language
are treated as character array. String is declared as follows:
char name[10];
if initialized its
value then
char name[4]=”Shiv”;
Here, compiler
automatically insrts the null ‘\0’ character at the end of the string.
In C string can be
created using pointer variable of type char
Ex,
char *name=”Shiv”;
S
|
H
|
i
|
v
|
\0
|
0
|
1
|
2
|
3
|
4
|
name
Here a pointer variable
name points to the letter S in the string “Shiv” somewhere in memory.
The string can be
printed either using prinf() or puts() function as follows:
printf(“%s”,name);
puts(name);
Array of pointer
As the array of
integers , float same as it is also possible to create array of pointers. Pointer
contains an address and array of pointer would be a collection of addresses.
A multi dimensional
array can be expressed in terms of an array of pointers rather than as a
pointer to a group of contiguous arrays.
For ex,
int *x[10];
here, x is the array of
pointer of integer type
The most common use of array of pointers is
with strings. The start of the string is indicated address by a pointer to the
first character and the end of the string is marked by null character. By
declaring and initializing an array of pointers to tyoe char , possible to
access and manipulate a large number of strings using the pointer array. Each
element in the array points to a different string.It can be declared as follow
:
char *ptr_var[expression1];
Here ptr_var is the
name of char pointer array and expression1 specifies the number of strings in
array.
Ex,
char
*name[3]={“Ram”,”Madhav”,”Shiv”};
Instead of making each
row a fixed number of character , a pointer to a string made string of varying
length.
R
|
a
|
m
|
\0
|
|
|
|
M
|
a
|
D
|
h
|
a
|
v
|
\0
|
S
|
h
|
I
|
v
|
\0
|
|
|
The character array
with the rows of varying length are called “ragged
arrays”.
Posted By : Ruchita Pandya
No comments:
Post a Comment