ACC DBA 120 - Understanding Memory and Arrays
Pages 2

Unformatted text preview:

Understanding Memory and Arrays in Programming In programming memory is essentially a long tape of bytes with each byte containing 8 bits This can be extended to both sides making it open ended To understand the need for arrays we need to examine how areas can be declared initialized and represented in memory Storing Values in Memory To store a value in memory we need to know how much space will be allocated for it For example the data type int typically takes up 4 bytes to store an integer The number 5 would need to be converted to binary which is 32 bits or 4 bytes In traditional compilers we generally take 2 or 4 bytes to be the data type for storing numbers So if we were storing an integer it would take up 2 4 bytes in memory The memory manager would allocate some memory for storing a variable and the value stored in memory would be represented in binary For example the value stored in a variable could be 5 which would be represented as 101 in binary Using Arrays An array is a collection of more than one element of the same datatype For example an array of characters would be of the data type char and an array of integers would be of the data type int The number of elements in an array is determined by the size of the array To declare an array in programming we use a specific syntax In C language for example we would write int n to declare an integer variable To declare an array we would use int a 16 This creates an array called a with 16 elements Initializing Arrays Arrays can also be initialized with values For example we could initialize an array of integers with the values 1 2 and 3 like this int a 3 1 2 3 Representing Arrays in Memory To represent an array in memory we need to know how the elements of the array are stored In a one dimensional array the elements are stored in a single row with multiple columns Each element of the array takes up space in memory depending on its data type For example an array of integers would take up 2 4 bytes of memory per element Overall understanding memory and arrays is crucial to programming as they are fundamental building blocks of many programs and applications Arrays in Memory In this video we will discuss how data is stored in arrays in memory All the elements in an array are stored in consecutive continuous locations with the index starting at zero The array can be statically initialized at compile time or dynamically initialized at runtime One important point to note is that arrays are fixed size The elements are stored in sequential continuous locations with each element taking up the same amount of memory Accessing Array Elements The index of the array starts at zero although it can start at one in some cases The size of the array is the number of elements it can hold n with the index ranging from 0 to n 1 To access an element use the formula base address i size of data type The array follows the random access method and accessing an element has a time complexity of O 1 Dynamic Allocation The drawback of arrays is that the size needs to be specified at compile time which may not always be possible We may not know how much space we need until runtime If we allocate more space than needed there will be unused memory If we allocate less space than needed we will run out of memory To dynamically allocate memory we use functions such as malloc and calloc The amount of memory allocated is not contiguous and the location of the data may not be known Error Handling Unfortunately there were some errors in the original text making it difficult to understand I have paraphrased and corrected the text to make it more readable If you encounter any errors please let me know Working with Arrays in Java At runtime loops and standard functions like Scanner can be used to take user input and store it in arrays In the next video we will discuss how to initialize an array at compile time and how to store data in the array at runtime We will also cover how to use arrays and how to access data from them Additionally we will examine memory management and show how to use it to test our own code In this video we ve discussed the declaration initialization and accessing of 1D arrays In the next video we will cover how to insert data into arrays traverse arrays and work with 2D arrays We will also discuss how data items are stored in continuous locations and how random access works Arrays can have drawbacks such as requiring elements of the same data type and not knowing the index value However we have provided formulas and examples to help with these issues

View Full Document

# ACC DBA 120 - Understanding Memory and Arrays

Unlocking...

Join to view Understanding Memory and Arrays 2 2 and access 3M+ class-specific study document.

or