04 02 Multivalued Variable Array
04 02 Multivalued Variable Array
Procedural Programming
Procedural Programming 2
Please see this material first
Procedural Programming 3
Outlines
1. PEMVIS’ “Array”.
2. Array: definition.
3. Multi-dimensional arrays.
Procedural Programming 4
Array: Definition
Procedural Programming 5
Array: definition
Procedural Programming 6
Memory layout
addresses 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
1 byte
Procedural Programming 7
Declaring an array
Procedural Programming 8
Declaring an array
Procedural Programming 9
Accessing & Manipulating array data
arr[0] = 0;
arr[1] = 8;
arr[2] = 5;
arr[3] = 2;
Procedural Programming 10
Memory layout of
a single-dimensional array
addresses 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
1 byte
Procedural Programming 11
Calculating the reserved space
Procedural Programming 12
#include <stdio.h>
return 0;
}
arr[0]=0
arr[1]=8
arr[2]=5
arr[3]=2
8 byte(s) is required
Procedural Programming 13
Multidimensional Arrays
Procedural Programming 14
Multidimensional arrays
Procedural Programming 15
Memory layout of
a multidimensional arrays
addresses 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
1 byte
Procedural Programming 16
#include <stdio.h>
Prepare the tracking mechanism
Multidimensional
int main(int _argc, char **_argv) {
unsigned short int s_size1 = 2; for the 1st and the 2nd dimension.
unsigned short int s_size2 = 2;
arrays in C
Declaring an array of short int.
short int s_array[s_size1][s_size2];
short int total_byte = sizeof(unsigned int) * s_size1 * s_size2;
printf("s_array[0][0]=%d\n", s_array[0][0]);
printf("s_array[0][1]=%d\n", s_array[0][1]);
printf("s_array[0][0]=%d\n", s_array[1][0]);
printf("s_array[0][1]=%d\n", s_array[1][1]);
Accessing array’s elements.
printf("%hu byte(s) is required\n", total_byte);
return 0;
}
s_array[0][0]=9
s_array[0][1]=8
s_array[0][0]=7
s_array[0][1]=6
8 byte(s) is required
Procedural Programming 17
Todo
Procedural Programming 18
References
Procedural Programming 19
Thank
you
Procedural Programming 20