Saturday, 10 August 2013

Arrays in C

Welcome to Wind Trainers :: Trainers, C, Tutorials, Programming, Java, VB.net, C++, ANSI, Learn C, Learn Programming
Forum | Contact

C Tutorials


| Arrays in C |

C programming language provides a data structure called the array, which can store a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type. Instead of declaring individual variables, such as number0, number1, ..., and number99, you declare one array variable such as numbers and use numbers[0], numbers[1], and ..., numbers[99] to represent individual variables. A specific element in an array is accessed by an index.
All arrays consist of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.

Arrays in C

| Declaring Array |

To declare an array in C, a programmer specifies the type of the elements and the number of elements required by an array as follows:

type array_name [arraySize];

This is called a single-dimensional array. The arraySize must be an integer constant greater than zero and type can be any valid C data type.

| Initializing Array |

We can initialize array in C either one by one or using a single statement as follows:

int arr[5]={1,2,3,4,5};

The number of values between braces { } can not be larger than the number of elements that we declare for the array between square brackets [ ].

| Accessing Array Element |

An element is accessed by indexing the array name. This is done by placing the index of the element within square brackets after the name of the array. For example:

double sal=bal[10];

The above statement will take 10th element from the array and assign the value to salary variable. Following is an example which will use all the above mentioned three concepts viz. declaration, assignment and accessing arrays:

#include <stdio.h>
void main ()
{
int n[ 10 ]; /* n is an array of 10 integers */
int i,j;
/* initialize elements of array n to 0 */
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100;
}
/* output each array element's value */
for (j = 0; j < 10; j++ )
{
printf("\nElement[%d] = %d", j, n[j] );
}
}

C supports multidimensional arrays. The simplest form of the multidimensional array is the two-dimensional array. We can pass to the function a pointer to an array by specifying the array's name without an index. C allows a function to return an array. You can generate a pointer to the first element of an array by simply specifying the array name, without any index.

No comments:

Post a Comment