what does this statement do? A = malloc(10*sizeof(long)); also another question, if malloc() fails to allocate memory then it returns NULL right?
sizeof returns the size of the type. In the case of long, it is probably 4 for 4 bytes. So A would be 40. A failure would cause malloc to return a null pointer, ie 0.
and A would be of size 40 in memory right? hmm ive got this question on an assignment.... so.. if malloc fails to allocate memory it returns a) -1 b) NULL c) EOF d) '\o' i thought NULL...what would the answer be?
I hate to sound nasty, but I think if you looked for the correct answer to your quiz it would be faster than asking people here. And, you might learn something. And, I already answered that question in the previous post.
If you have a Mac with the developer kit installed, just open a terminal session and do a "man malloc" It will give you the answer.
To answer this part... Your statement doesn't quite make sense. malloc returns a pointer, i.e., some 32-bit or 64-bit value that is the address of an area of memory. So the type of the variable named "A" is pointer to something. Therefore A itself happens to be 32 bits or 64 bits in size and its value is a 32-bit or 64-bit number that is the address of an area of memory bit enough to hold 10 values of type long.