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.
1.2 Array Operations - Traversal, Insertion | Explanation
with C Program | DSA Course
Jenny's Lectures CS IT
Operations on Arrays in Data Structure
In this blog post, we will be discussing the various operations that can be performed on 1D
arrays in data structures. We have already covered the fundamentals of arrays, including why
they are needed, how to declare them, and their memory representation in a previous post.
Today, we will focus on how to traverse an array, how to insert data into an array, and the three
types of insertion (at the beginning, at the end, or at a specific position). The most important
operations we will cover are array traversal, insertion, deletion, sorting, and searching for a
particular key.
Traversal and Insertion with Code Examples
We will start by discussing how to traverse an array and insert data into an array, with the help
of code examples. We will also provide code for array deletion.
Array Size and Memory Allocation
Before we dive into the code, it's important to understand that the size of an array is fixed at
compile time and cannot be changed at runtime. Additionally, arrays do not have any bounds
checking property at runtime, so it is the programmer's responsibility to check the boundaries of
the array in the program. For example, if we declare an array of size 50, 200 bytes of memory
would be allocated by the memory manager. The base address is 100, so 100 to 299 bytes
should be allocated to this array.
Reading and Writing Data
Now, let's discuss how to read and write data in an array. The scanf function is used to take
input from the user, and the printf function is used to print something on the output screen.
When using scanf, we write %d for integers. We use a for loop to iterate over the array, and the
value starts from 0 till the size minus one (i++).
Maximum Array Size and User Input
The maximum size of an array is determined by the limit of the size of an array. The user can
insert data into the array, and the number of data they want to insert is the size of the array. For
example, if the size of the array is five, the user can insert five elements only.
Inserting Data and Indexing
The user can insert data into an array by using the scanf function. The value to insert starts at
0 and goes up to 4. The length of a single element is the same as the number of bytes that will
be inserted. The maximum number of elements is the total number of items that can be
inserted, not the size of the array.