I use turbo C which allocates 2 bytes for integers and 4
bytes for long. I tried to declare array of size 500000 of
long type using the following code...
long *arr;
arr=(long *)(malloc)(500000 * sizeof(long));
It gives a warning that "Conversion may lose significant
digits in function main"...
And the resulting array size was very less around 8400 as
compared to 500000. Any suggestions will be welcomed....
Answer Posted / anshu ranjan
I want to make a point here...I am not sure whether there is a limit to amount of memory that you can allocate using malloc...
I used this code in a program and it ran perfectly fine...
--------------
char **a;
int **val;
a =(char **) malloc ( 1000 * sizeof *a );
for ( i = 0; i < 1000; i++ )
a[i] =(char *) malloc ( 1000 * sizeof *a[i] );
val =(int **) malloc ( 1000 * sizeof *val );
for ( i = 0; i < 1000; i++ )
val[i] =(int *) malloc ( 1000 * sizeof *val[i] );
---------------
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
In C, What is the #line used for?
Why is c called c?
What does *p++ do? What does it point to?
How can I split up a string into whitespace-separated fields?
Does c have class?
Tell me the use of bit field in c language?
Do you know the use of 'auto' keyword?
what is the format specifier for printing a pointer value?
Where are some collections of useful code fragments and examples?
Differentiate between calloc and malloc.
What is an lvalue?
write a program to convert a expression in polish notation(postfix) to inline(normal) something like make 723+* (2+3) x 7 (not sure) just check out its mainly printing expression in postfix form to infix.
What is a keyword?
Explain how do you view the path?
What is exit() function?