1 / 7

Department of Computer and Information Science, School of Science, IUPUI

Department of Computer and Information Science, School of Science, IUPUI. CSCI N305. Arrays Declarations. Name of array (Note that all elements of this array have the same name, my_array ). -45. my_array[0]. 6. my_array[1]. 0. my_array[2]. 72. my_array[3]. 1543. my_array[4]. -89.

maja
Télécharger la présentation

Department of Computer and Information Science, School of Science, IUPUI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Department of Computer and Information Science,School of Science, IUPUI CSCI N305 Arrays Declarations

  2. Name of array (Note that all elements of this array have the same name, my_array) -45 my_array[0] 6 my_array[1] 0 my_array[2] 72 my_array[3] 1543 my_array[4] -89 my_array[5] 0 my_array[6] 62 my_array[7] -3 my_array[8] 1 my_array[9] 6453 my_array[10] 78 my_array[11] Position number of the element within array my_array Arrays • Array • Group of consecutive memory locations • Same name and type, ex: an array of integers • To refer to an element, specify • Array name • Position number of particular element in the array • Format: array_name[position number] • First element at position 0 • n element array named c: • c[ 0 ], c[ 1 ]...c[ n – 1 ] Example: int my_array[12] my_array[0]= -45  value stored • Position number must be an integer number or an integer expression Example: my_array[1.5]  ERROR!! my_array[i+j]  valid if i and j are integers

  3. Arrays (cont.) • Array elements are like normal variables my_array[8]= -3; scanf("%d", &my_array[8]); printf("%d",my_array[8]); Perform operations in subscript. If x equals 3: my_array[ 5 - 2 ] == my_array[ 3 ] == my_array[ x ] • Declaring Arrays • When declaring arrays, specify • Name • Type of array • Number of elements: arrayType arrayName[numberOfElements]; Examples: int c[ 100 ];/* reserve memory sufficient enough to store 100 elements of type integer */ float myArray[ 3284 ];

  4. Arrays (cont.) • Declaring multiple arrays of same type: format similar to regular variables Example: int b[ 100 ], x[ 27 ]; • Arrays may be declared to contain other data types Example: int a[ 100 ]; float b[ 100 ]; char c[ 100 ]; /* Strings are stored by using character arrays */ Example: #include <stdio.h> /* a simple program that uses arrays */ main( { int i, array_int[100]; for (i=0; i<100; i++) array_int[i]=0; for (i=0; i<100; i++) printf(“element %d: %d\n”, i, array_int[i]); }

  5. Arrays (cont.) • Initializers int n[5] = {1, 2, 3, 4, 5}; Example:main() { int i, a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; for (i=0; i<10; i++) printf(“Element: %d\n”, a[i]); } • If there are fewer initializations than elements in the array, then the remaining elements are automatically initialized to 0. int n[5] = {0}/* All elements 0 */ int a[10] = {1, 2} /* a[2] to a[9] are initialized to zeros */ int b[5] = {1, 2, 3, 4, 5, 6} /* syntax error */ • C arrays have no bounds checking • If size omitted, initializers determine it int n[ ] = { 1, 2, 3, 4, 5 }; /* 5 initializers, therefore 5 element array */ • Scalable Arrays: a better programming style #define SIZE 10 int c[SIZE]; /* defines a symbolic constant size with value 10 */

  6. Arrays (cont.) Example: #include <stdio.h> #define SIZE 100 main() { int i, a[SIZE]; int sum = 0; … for (i=0; i < SIZE; i++) sum = sum + a[i]; printf(“sum: %d\n, sum); }

  7. 1 /* Fig. 6.8: fig06_08.c 2 Histogram printing program */ 3 #include <stdio.h> 4 #define SIZE 10 5 6 int main() 7 { 8 int n[ SIZE ] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 }; 9 int i, j; 10 11 printf( "%s%13s%17s\n", "Element", "Value", "Histogram" ); 12 13 for ( i = 0; i <= SIZE - 1; i++ ) { 14 printf( "%7d%13d ", i, n[ i ]) ; 15 16 for ( j = 1; j <= n[ i ]; j++ ) /* print one bar */ 17 printf( "%c", '*' ); 18 19 printf( "\n" ); 20 } 21 22 return 0; 23 } 1. Initialize array 2. Loop 3. Print Program output Element Value Histogram 0 19 ******************* 1 3 *** 2 15 *************** 3 7 ******* 4 11 *********** 5 9 ********* 6 13 ************* 7 5 ***** 8 17 ***************** 9 1 *

More Related