#include<stdio.h>
#include<stdlib.h>
#define SIZE 30
void allocate_memory(int*,int);
int main(void){
int * pointer = NULL ; //set pointer to null value
int array_size = SIZE;
printf("\nMAIN:%p" ,(void*) pointer
); //value of pointer is null of course allocate_memory(pointer,array_size);
printf("\nMAIN:%p" ,(void*) pointer
); // value of pointer is still null, even though allocate_memory was called ergo no memory was allocated. return 0 ;
}
void allocate_memory(int *pointer,int size)
{
pointer
= malloc(size
*sizeof(int)); printf("\nFUNCTION: %p" ,(void*) pointer
); //value of pointer is null of course if(pointer==NULL)
{
printf("Memory allocation fail!"); }
else
printf("\nMemory allocation successful");
}
ICAgICNpbmNsdWRlPHN0ZGlvLmg+CiAgICAjaW5jbHVkZTxzdGRsaWIuaD4KICAgICNkZWZpbmUgU0laRSAzMAoKICAgIHZvaWQgYWxsb2NhdGVfbWVtb3J5KGludCosaW50KTsKCiAgICBpbnQgbWFpbih2b2lkKXsKICAgICAgICBpbnQgKiBwb2ludGVyID0gTlVMTCA7ICAgIC8vc2V0IHBvaW50ZXIgdG8gbnVsbCB2YWx1ZQogICAgICAgIGludCBhcnJheV9zaXplID0gU0laRTsKCXByaW50ZigiXG5NQUlOOiVwIiAsKHZvaWQqKSBwb2ludGVyICk7CS8vdmFsdWUgb2YgcG9pbnRlciBpcyBudWxsIG9mIGNvdXJzZQogICAgICAgIGFsbG9jYXRlX21lbW9yeShwb2ludGVyLGFycmF5X3NpemUpOwoJcHJpbnRmKCJcbk1BSU46JXAiICwodm9pZCopIHBvaW50ZXIgKTsJLy8JdmFsdWUgb2YgcG9pbnRlciBpcyBzdGlsbCBudWxsLCBldmVuIHRob3VnaCBhbGxvY2F0ZV9tZW1vcnkgd2FzIGNhbGxlZCBlcmdvIG5vIG1lbW9yeSB3YXMgYWxsb2NhdGVkLgogICAgICAgIGZyZWUocG9pbnRlcik7CQpyZXR1cm4gMCA7CQogICAgfQoKICAgIHZvaWQgYWxsb2NhdGVfbWVtb3J5KGludCAqcG9pbnRlcixpbnQgc2l6ZSkKICAgIHsKICAgICAgICBwb2ludGVyID0gbWFsbG9jKHNpemUqc2l6ZW9mKGludCkpOwoJcHJpbnRmKCJcbkZVTkNUSU9OOiAlcCIgLCh2b2lkKikgcG9pbnRlciApOwkvL3ZhbHVlIG9mIHBvaW50ZXIgaXMgbnVsbCBvZiBjb3Vyc2UKICAgICAgICBpZihwb2ludGVyPT1OVUxMKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsISIpOwogICAgICAgICAgICBleGl0KDEpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgICAgIHByaW50ZigiXG5NZW1vcnkgYWxsb2NhdGlvbiBzdWNjZXNzZnVsIik7CgoKICAgIH0=