Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
I im dynamically allocating an array, like this ...
I'm dynamically allocating an array, like this:
int *iarray = (int *)malloc(nints);
malloc isn't returning NULL, but the code isn't working.
✍: Guest
A:malloc is a low-level, typeless allocator. It doesn't know how you're going to use the memory; all it does is to allocate as many bytes of memory as you ask it. Therefore (except when you're allocating arrays of char) you must multiply by the size of the elements in the array you're allocating:
int *iarray = malloc(nints * sizeof(int));
or
int *iarray = malloc(nints * sizeof(*iarray));
(The latter fragment can be more reliable if the type of iarray might change, since there's only one place to change it. Also, the casts have been removed;
2016-04-06, 1442👍, 0💬
Popular Posts:
What will the following piece of code do? int f(unsigned int x) { int i; for (i=0; x!=0; x>&a...
What is COCOMO I, COCOMOII and COCOMOIII? In CD we have a complete free PDF tutorial of how to prepa...
Does there exist any other function which can be used to convert an integer or a float to a string? ...
How can I execute a PHP script using command line? Just run the PHP CLI (Command Line Interface) pro...
What is a measure in OLAP ? Measures are the key performance indicator that you want to evaluate. To...