Arrays and Strings
Arrays and Strings
Outline
1 dimensional array
What is an array ?
type variable_name[size] ;
Assigning values to array elements
main() {
int num[5];
int sum, i;
float avg;
for(i =0; i< 5;i++)
scanf(“%d”, &num[i]);
sum = 0;
for(i=0; i< 5; i++)
sum = sum + num[i];
avg = sum/5;
printf(“The average of numbers is %7.2’’, avg);
}
Array Initialisation
Example
int marks[5] = {40, 70, 32, 80, 76};
Is equivalent to
marks[0] = 40
marks[1] = 70
marks[2] = 32
marks[3] = 80
marks[4]= 76
Example
/*Program to input numbers into array a and then copy them to array b */
main()
{
int i, a[10], b[10];
for (i = 0; i< 10; i++){
printf(“Enter element:);
scanf(“%d”, & a[i]);
printf(“\n”);
}
for (i = 0; i< 10; i++)
b[i] = a[i];
for (i = 0; i< 10; i++)
printf(“%d\t%d\n”, a[i], b[i]);
}
2 dimensional array
TWO DIMENSIONAL ARRAYS
A two dimensional array is also called a matrix.
type array_name[row_size][col_size];
#define ROWS 5
#define COLS 5
main() { /*--start main--*/
int arr1 [ROWS][COLS], i, j, rows, cols;
printf(“\nEnter number of rows :”);
scanf(“%d”,&rows);
printf(“\nEnter number of columns :”);
scanf(“%d”, &cols);
for(i=0; i< rows; i++) {
for(j = 0; j < cols; j++) {
printf(“\nEnter value :”);
scanf(“%d”, &arr1[i][j]);
}
}
Cont…..
Example (2D) cont…
printf(“\nThe elements are”);
for(i=0; i< rows; i++) {
for(j = 0; j < cols; j++) {
printf(“%d\t”, arr1[i][j]);
}
printf(“\n”);
}
} /*--end main--*/
Multi-dimensional array
Multi-dimensional array
Example:
float y[2][4][3];
Initialization Example
int test[2][3][4] = {
{{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},
{{13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9}}};
Example
// C Program to store and print 12 values entered by the user
#include <stdio.h>
int main()
{
int test[2][3][2];
printf("Enter 12 values: \n");
for (int i = 0; i < 2; ++i){
for (int j = 0; j < 3; ++j){
for (int k = 0; k < 2; ++k){
scanf("%d", &test[i][j][k]);
}
}
}
Example (cont.)
/ Printing values with proper index.
printf("\nDisplaying values:\n");
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
for (int k = 0; k < 2; ++k){
printf("test[%d][%d][%d] = %d\n", i, j, k, test[i][j][k]);
}
}
}
return 0;
}
STRINGS
String
• An array of characters is a string.
• Any group of characters within double quotation marks is a
constant string.
• A string constant is a one dimensional array of characters
• A string variable is any valid C variable name and since a string is
an array of char we always declare a string as an array. The
general form of a string variable is :
char string_name[size];
• The size determines the number of characters in the string_name.
eg.
char name[20];
char address[25];
String constant
NOTE: It is important to end each 1-D array by the null character, otherwise,
it will be just an array of characters.
Example