answersLogoWhite

0


Best Answer

#include <stdlib.h>

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

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

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

User Avatar

Wiki User

13y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: How do you declare an N-Dimensional array using Malloc?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

In C plus plus is it possible to instantiate an array without specifying a length?

No. You can declare a dynamic array without specifying a length, but in order to physically instantiate (either by using malloc or by using object-oriented construction) you must provide a length.


How do you use 2-D array with malloc?

You use a 2-D array with malloc the same way you use any other structure or scalar with malloc. The malloc library call takes a single argument of type size_t (in bytes) and returns a void* pointer to a region of memory that is suitably aligned for any supported data type. An example using the 2-D array... int *myArray[10][20]; myArray = malloc (sizeof (myArray)); if (myArray == NULL) {...exception processing...}; Note that a 2-D array is really the same as a 1-D array - its a linear region of memory - its just that the compiler does address arithmetic for you.


What is NULL array in C Language?

There is no "NULL array" as such, you may take a pointer to an array and set it to NULL (binary 0) e.g. int* foo; // Declare a pointer foo = malloc( 40 * sizeof(int)); //Allocate an array of 40 integers pointed to by "foo" foo = NULL; //Set the pointer to NULL, if you're using a garbage collector this should trigger an automatic free() of the memory allocated to the array. If you are NOT using a garbage collector (which is more common in C) this line is a memory leak.


You can use a variable to declare an array's size true or false?

True and false in the same time, because even so you can declare array size using notation for variables you have use constwhich makes your variable basically a constant:const int arraySize = 10;In Java, you can use any expression to define the array size, when you create the array. Once you create an Array object, however, you can't redimension it - but you can create a new Array object and destroy the old one.


What if happen when you allocate memory by using malloc or calloc when the momory is not available contigiously?

malloc/calloc/realloc will return NULL

Related questions

In C plus plus is it possible to instantiate an array without specifying a length?

No. You can declare a dynamic array without specifying a length, but in order to physically instantiate (either by using malloc or by using object-oriented construction) you must provide a length.


How do you use 2-D array with malloc?

You use a 2-D array with malloc the same way you use any other structure or scalar with malloc. The malloc library call takes a single argument of type size_t (in bytes) and returns a void* pointer to a region of memory that is suitably aligned for any supported data type. An example using the 2-D array... int *myArray[10][20]; myArray = malloc (sizeof (myArray)); if (myArray == NULL) {...exception processing...}; Note that a 2-D array is really the same as a 1-D array - its a linear region of memory - its just that the compiler does address arithmetic for you.


What is NULL array in C Language?

There is no "NULL array" as such, you may take a pointer to an array and set it to NULL (binary 0) e.g. int* foo; // Declare a pointer foo = malloc( 40 * sizeof(int)); //Allocate an array of 40 integers pointed to by "foo" foo = NULL; //Set the pointer to NULL, if you're using a garbage collector this should trigger an automatic free() of the memory allocated to the array. If you are NOT using a garbage collector (which is more common in C) this line is a memory leak.


Syntax for allocating memory in array using malloc?

YourType *p; p = (YourType *)calloc (no_of_elements, sizeof (YourType)); if (p==NULL) { fprintf (stderr, "Out of memory\n"); exit (32); }


You can use a variable to declare an array's size true or false?

True and false in the same time, because even so you can declare array size using notation for variables you have use constwhich makes your variable basically a constant:const int arraySize = 10;In Java, you can use any expression to define the array size, when you create the array. Once you create an Array object, however, you can't redimension it - but you can create a new Array object and destroy the old one.


What if happen when you allocate memory by using malloc or calloc when the momory is not available contigiously?

malloc/calloc/realloc will return NULL


What is memory leakage in terms of arrays?

leakage in arrays occur when you declare an array with big size and using only very few bytes.


Can Array List in java hold different data types?

No, we cant hold different data types in an Array. But using Array List we can hold any data type as a Object. But you need iterate that values as a Object and again you need to convert those values into the different data types accordingly.


In Computer programming Why is it considered good programming practice to define the number of array items as a constant before declaring the array?

In computer programming, (1) When a number is needed several times in a program, it is good practice to give that number a name. (2) When a name refers to a number that will never change during a run of a program, it is good practice to declare it as a constant before using it. In most programming languages, we do not define the number of array items as a constant. In many programming languages, it is easy to add items to an array, and an array keeps track of the number of items it holds, which a program can access using something like "array.length" or "array.shape". However, in C and C++ programming, the programmer must define the size of the array at the time it is defined, and the array does not keep track of the number of items it contains. To not define your array would leave the program open to unchecked growth. "Capping" the array with an upper value ensures that, if something goes wrong, you will not crash the application or system. Also, capping the array will make debugging potentially easier. Capping requires using that number in several places, and so (1) tells us it is good practice to give that number a name. Since it is not possible(*) to change the size of an array in C or C++, the number that holds the number of items in the array will never change, and so (2) tells us it is good practice to declare it as a constant. (*) There are a few tricks one can do with malloc() and realloc() that have the same effect as resizing an array, although technically all those tricks merely create a new fixed-size array.


Queue ADT Using Array?

implement the queue ADT using an array


What is tunable array?

Arrays are the cheapest data structures, without much overhead compare to other data structures. Basically in array, we have four types i.e1. Static array - array size known at compile time.// example code snippet:char array[10];2. Dynamic array - array size known at begging of execution time.//example code snippet:char *array;int num_elements;//Dynamic memory allocation using malloc library call which in turn uses "brk" // or "sbrk" system call under unixarray = (char *)malloc (num_elements * sizeof(char));3. Stretchable array- array size can be stretched(modified) during execution time.//example code snippet.char *array;int num_elements;array = (char *)malloc (num_elements * sizeof(char));//Modify the memory allocation during execution time using realloc library callarray = realloc (array, new_value);4. Tunable array- array size known at link time.Suppose consider you have one object file called sample.o(compiled sample.c)and header file called sample.h.ISV's (Independent software vendors) usually won't provide you the source code(In case of proprietary software), instead they will provide you the object file and one corresponding header file which contains some symbolic literals (some # define constants). so that you can change the symbolic literals in header file which takes necessary action when you compile both file together.//example snippet code:In sample.cchar arr[MAX_SIZE];In sample.h# define MAX_SIZESuppose now if you change the symbolic literal "MAX_SIZE"in header file sample.h that will affect the size of the array arr at link time.Basically static array's are fall under the category of "Static Memory allocation" and remaining all will fall under "Dynamic Memory allocation".


Why and is not using ' and ' in reading a string using scanf?

I guess you wanted to ask, why is it scanf ("%s", array)and not scanf ("%s", &array).Well, array is by definition a pointer to the first element: array = &array[0]