Arrays

An array is defined as a set of homogeneus data items.

   

  • Single Dimension Arrays
  • Multi Dimension Arrays
   

  Single Dimension Arrays
   

   

  Multi Dimension Arrays
   

   

  Unsized Array Initializations

If unsized arrays are declared, the C compiler automatically creates an array big enough to hold all the initializers. This is called an unsized array. Example declaration/initializations are as follows:

   


  1 char e1[] = "read error\n";
  2 char e2[] = "write error\n";
  3 
  4 int sgrs[][2] = 
  5 { 
  6   1,1,
  7   2,4,
  8   3,9
  9   4,16,
 10 };
You could download file unsized_array.c here
   

  Array Initialization

Arrays may be initialized at the time of declaration. The following example initializes a ten-element integer array:

   


 1  int i[10] = { 1,2,3,4,5,6,7,8,9,10 };
You could download file array_init1.c here
   

Character arrays which hold strings allow a shorthand initialization, e.g.:

   


 1 char str[9] = "I like C";
 2 // which is the same as
 3 char str[9] = { 'I',' ','l','i','k','e',' ','C','\0' };
You could download file array_init2.c here
   

When the string constant method is used, the compiler automatically supplies the null terminator.

   

Multi-dimensional arrays are initialized in the same way as single-dimension arrays, e.g.:

   


 1  int sgrs[6][2] =  
 2 { 
 3 1,1, 
 4 2,4, 
 5 3,9, 
 6 4,16, 
 7 5,25,
 8 6,36
 9 };
You could download file array_init3.c here
   

  Strings and String Functions

A string is an array of characters terminated by the null character.

   

  • String Declaration
  • Initializing a String
  • String Functions
   

  String Declaration
   

   

  Initializing a String
   

   

  String Functions

C supports a wide range of string manipulation functions, including:

   

Function

Description

strcpy(s1,s2)

Copies s2 into s1.

strcat(s1,s2)

Concatenates s2 to s1.

strlen(s1)

Returns the length of s1.

strcmp(s1,s2)

Returns 0 (false) if s1 and s2 are the same. Returns less than 0 if s1<s2 Returns greater than 0 if s1>s2

strchr(s1,ch)

Returns pointer to first occurrence ch in s1.

strstr(s1,s2)

Returns pointer to first occurrence s2 in s1.

   

Since strcmp() returns false if the strings are equal, it is best to use the ! operator to reverse the condition if the test is for equality.

   

   

   

  

Copyright © 1998-2006

Deepak Kumar Tala - All rights reserved

Do you have any Comment? mail me at:deepak@asic-world.com