How is a multidimensional array defined pointer, Computer Engineering

Assignment Help:

How is a multidimensional array defined in terms of a pointer to a collection of contiguous arrays of lower dimensionality ?

C does not have true multidimensional arrays. However, because of the generality of C's type system, you can have arrays of arrays.

Here is a two-dimensional array, although the techniques can be extended to three or more dimensions.

int a2[5][7];

Formally, a2 is an array of 5 elements, each of which is an array of 7 ints. Thus a two dimensional array, for example, is actually a collection of one dimensional arrays. Therefore, we can define a two-dimensional array as a pointer to a group of contiguous one dimensional arrays. A two dimensional array declaration can be written as

Int (*a2)[7];

We need parenthesis (*a2) since [] have a higher precedence than * So:

int (*a2)[7]; declares a pointer to an array of 7 ints.

int *a[7]; declares an array of 7 pointers to ints.

This concept can be generalized to higher dimensional arrays; that is

data - type (*variable name) [expression1][expression2].....[expression n];

If we don't know how many columns the array will have, we'll clearly allocate memory for each row (as many columns wide as we like) by calling malloc, and each row will therefore be represented by a pointer. To keep track of those pointers, we want to simulate an array of pointers, but we don't know how many rows there will be, either, so we'll have to simulate that array (of pointers) with another pointer, and this will be a pointer to a pointer.

This is best illustrated with an example:

#include

int **array;

array = malloc(nrows * sizeof(int *));

if(array == NULL)

{

fprintf(stderr, "out of memory\n");

exit or return

}

For (i = 0; i < nrows; i++)

{

array[i] = malloc(ncolumns * sizeof(int));

if(array[i] == NULL)

{

fprintf(stderr, "out of memory\n");

exit or return

}

 


Related Discussions:- How is a multidimensional array defined pointer

What is pure semiconductors, Q. What is Pure semiconductors? Pure semic...

Q. What is Pure semiconductors? Pure semiconductors, known as intrinsic semiconductors, have very few charge carriers and may hence be classified as almost insulators or very p

Explain demand paging, What is Demand paging? Virtual memory is commonl...

What is Demand paging? Virtual memory is commonly executed by demand paging. In demand paging, the pager brings only those essential pages into memory instead of swapping in a

Explain about interrupt procedure, Q. Explain about Interrupt Procedure? ...

Q. Explain about Interrupt Procedure? The interrupt procedure uses request header to conclude the function requested by DOS. It also performs all functions for device driver. T

Processes of information system, Processes of Information System The b...

Processes of Information System The basic purpose of the Information System is to convert and manage data into something that is meaningful. Bocij et al (2003) lists the basic

Explain what is meant by a bus, Question: (a) Comment on the general s...

Question: (a) Comment on the general structure of the IAS Computer, illustrate your answer using a diagram. (b) (i) Define CPU time. (a) (ii) A program runs in 10

Explain the term internet, Explain the term Internet. Internet: ...

Explain the term Internet. Internet: The Internet, an umbrella term covering countless network and services that comprise a super-network, is a global network of compute

Design a mod-5 synchronous counter using J-Kflip-flops, What are synchronou...

What are synchronous counters? Design a Mod-5 synchronous counter using J-K Flip-Flops. Ans. Synchronous Counters : It means that all flip-flops are clocked concurrently. T

Microcontrollers (mcu), Main Objectives: Uploading codes into the mi...

Main Objectives: Uploading codes into the microcontrollers Interfacing between both microcontrollers via I 2 C Reading and writing into various ports on the MCU Int

Customer credit-rating software , Gordon Grant, majority shareholder and Ch...

Gordon Grant, majority shareholder and Chief Executive Officer of Finance-IT Ltd, is determined to be one of the entrepreneurs making money out of the recession. He started the fir

K map explanation, K map explanation for mod 5 up synchronous counter ?

K map explanation for mod 5 up synchronous counter ?

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