Arrays and pointers, Data Structure & Algorithms

Assignment Help:

C compiler does not verify the bounds of arrays. It is your job to do the essential work for checking boundaries wherever required.

One of the most common arrays is a string that is simply an array of characters finished by a null character. The value of any null character is o. A string constant is a one-dimensional array of characters terminated by a null character (\0).

For instance, consider the following:

char message[ ]= {'e', 'x', 'a', 'm', 'p', 'l','e','\0'};

Also, assume the following string that is stored in an array:

"sentence\n"

Given figure illustrates the way a character array is stored in memory. In the array each of character occupies one byte of memory and the last character is always '\0'. Note down that '\0' and '0' are not the same. The character array elements are stored up in contiguous memory locations.

s

e

n

t

e

n

c

e

\n

\0

                                          Figure: String in Memory

C concedes a fact that the user would employ strings very frequently and therefore provides a short cut for initialization of strings.

For instance, the string used above can also be initialized as char name[ ] = "sentence\n";

Note down that, in this declaration '\0' is not essential. C automatically inserts the null character.

Multidimensional arrays are described in the similar manner as one-dimensional arrays, apart from that a separate pair of square brackets is needed for each of subscript. Therefore a two-dimensional array will need two pairs of square brackets, a three-dimensional array will need three pairs of square brackets and so on.

In C the format of declaration of multidimensional array is given below:

data_type array_name [expr 1] [expr 2] .... [expr n];

where data_type is the type of array like char, int etc., array_name is the name of array & expr 1, expr 2, ....expr n are positive valued integer expressions.

The diagram of two-dimensional array of size 3 × 5 is illustrated in Figure

 

2052_ARRAYS AND POINTERS.png

Figure: Schematic of a Two-Dimensional Array

In the particular case of a two-dimensional array, the given formula yields the number of bytes of memory required to hold it:

bytes = size of 1st index × size of 2nd index × size of (base type)

The pointers & arrays are closely associated. As you know, an array name without an index is a pointer to the primary element in the array.

Assume the following array:

char p[10];

p and &p[0] are similar because the address of the primary element of an array is the similar as the address of the array. Thus, an array name without an index produced a pointer. On the other hand a pointer can be indexed as if it were declared to be an array.

For instance, assume the following program fragment:

int *x, a [10];

x = a;

x[5] = 100;

* (x+5) = 100;

Both of the assignment statements place the 100 in the sixth element of a. In addition the (0,4) element of a two-dimensional array might be referenced in the given two ways: either through array indexing a[0][4], or through the pointer *((int *) a+4).

Generally, for any two-dimensional array a[j][k] is equivalent to:

*((base type *)a + (j * rowlength)*k)


Related Discussions:- Arrays and pointers

Process of decision making under uncertainty, (a) Describe the steps involv...

(a) Describe the steps involved in the process of decision making under uncertainty. (b) Explain the following principles of decision making: (i) Laplace, (ii) Hurwicz. (c

Preliminaries, Think of a program you have used that is unacceptably slow. ...

Think of a program you have used that is unacceptably slow. Identify the specific operations that make the program slow. Identify other basic operations that the program performs q

System defined data types, System defined data types:- These are data t...

System defined data types:- These are data types that have been defined by the compiler of any program. The C language contains 4 basic data types:- Int, float,  char and doubl

Abstract Data Types, A useful tool which is used for specifying the logical...

A useful tool which is used for specifying the logical properties of a data type is called the abstract data type or ADT. The term "abstract data type" refers to the fundamental ma

Merge sort, Merge sort is a sorting algorithm which uses the basic idea of ...

Merge sort is a sorting algorithm which uses the basic idea of divide and conquers. This algorithm initially divides the array into two halves, sorts them separately and then merge

Which of the sorting algorithm is stable, Which of the sorting algorithm is...

Which of the sorting algorithm is stable   Heap sorting is stable.

Quick sort method, Q. Explain quick sort? Sort the given array using quick ...

Q. Explain quick sort? Sort the given array using quick sort method. 24 56 47 35 10 90 82 31

Deletion of an element from the linked list, A LGORITHM (Deletion of an ele...

A LGORITHM (Deletion of an element from the linked list) Step 1  Begin Step 2  if the list is empty, then element cannot be deleted Step 3  else, if the element to be del

Consistent heuristic function - graph search, Consistent Heuristic Function...

Consistent Heuristic Function - Graph Search Recall the notions of consistency and admissibility for an A* search heuristic. a. Consider a graph with four nodes S, A, B, C,

Make adjacency matrix for un-directed graph, Q. Describe the adjacency matr...

Q. Describe the adjacency matrix and make the same for the given undirected graph.    Ans: The representation of Adjacency Matrix: This representation consists of

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd