1.1 Arrays in Data Structure | Declaration, Initialization, Memory representation
Jenny's Lectures CS IT
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
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller vishist15864. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $8.49. You're not tied to anything after your purchase.