Arrays, Character Arrays, Multiple-dimension arrays and their programs


In C, as in FORTRAN or PL/I, it is likely to make arrays whose elements are fundamental types.

Therefore we can build an array of 10 integers with the declaration

int x[10];

Square brackets signify subscripting; parentheses are employed only for function references.

Array indexes start at zero, therefore the elements of x are:

x[0], x[1], x[2], ..., x[9]

When an array has n elements, the biggest subscript is n-1.

Multiple-dimension arrays are given, although not much employed above two dimensions.  The declaration and use appear like:

int name[10] [20];
n = name[i+j] [1] + name[k] [2];

Subscripts can be random integer expressions. The multi-dimension arrays are stored by row (that is opposite to FORTRAN), therefore the rightmost subscript differs fastest; name has 10 rows and 20 columns.

Here is a program that reads a line, stores it in a buffer, and prints its length (that is, excluding the newline at the end). 

       main( ) {
               int n, c;
               char line[100];
               n = 0;
               while( (c=getchar( )) != '\n' ) {
                       if( n < 100 )
                               line[n] = c;
               printf("length = %d\n", n);

As a more complex problem, assume that we want to print the count for each line in the input, still storing the initial 100 characters of each line. Attempt it as an exercise prior to looking at the answer: 

       main( ) {
               int n, c; char line[100];
               n = 0;
               while( (c=getchar( )) != '\0' )
                       if( c == '\n' ) {
                               printf("%d, n);
                               n = 0;
                       else {
                               if( n < 100 ) line[n] = c;

Above code stores initial 100 characters of each line.

Character Arrays; Strings:

Text is generally kept as an array of characters. By the convention in C, the last character in a character array must be a `\0' since most programs which manipulate character arrays predict it. For illustration, printf employs the `\0' to detect the end of a character array whenever printing it out with a `%s'.

We can copy a character array s into the other t as:

i = 0;
while( (t[i]=s[i]) != '\0' )

In most of the time, we have to place in our own `\0' at the end of a string; when we want to print the line with printf, it is essential. This code prints the character count prior to the line: 

       main( ) {
               int n;
               char line[100];
               n = 0;
               while( (line[n++]=getchar( )) != '\n' );
               line[n] = '\0';
               printf("%d:\t%s", n, line);

Here we increment ‘n’ in the subscript itself, however just after the prior value has been employed. The character is read, located in line[n], and just then n is incremented.

There is one position and one position only where C puts in the `\0' at the end of a character array for you and that is in the construction

"stuff between double quotes"

The compiler places a `\0' at the end automatically. Text enclosed in double quotes is termed as a string; its properties are exactly those of an (or initialized) array of characters.

Latest technology based Programming Languages Online Tutoring Assistance

Tutors, at the, take pledge to provide full satisfaction and assurance in Programming Languages help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Programming Languages, project ideas and tutorials. We provide email based Programming Languages help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Programming Languages. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Programming Languages Homework help and assignment help services. They use their experience, as they have solved thousands of the Programming Languages assignments, which may help you to solve your complex issues of Programming Languages. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.