w3resource

C malloc() function

C malloc() function - A memory allocator

The malloc() function is used to reserve a block of storage of size bytes. Unlike the calloc() function, malloc() does not initialize all elements to 0.

Syntax malloc() function

void *malloc(size_t size)

Parameters malloc() function

Name Description Required /Optional
size Bytes to allocate. Required

Return value from malloc()

  • Returns a pointer to the reserved space.
  • NULL if not enough storage is available, or if size was specified as zero.

Example: malloc() function

The following example shows the usage of malloc() function.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main () {
   char *str;

   /* Initial memory allocation */
   str = (char *) malloc(10);
   strcpy(str, "w3resource.com");
   printf("String = %s,  Address = %u\n", str, str);

   /* Deallocate allocated memory */
   free(str);
   return(0);
}

Output:

String = w3resource.com,  Address = 1905632

C Programming Code Editor:

Previous C Programming: C free()
Next C Programming: C realloc()



Follow us on Facebook and Twitter for latest update.

C Programming: Tips of the Day

What's the point of const pointers?

const is a tool which you should use in pursuit of a very important C++ concept:

Find bugs at compile-time, rather than run-time, by getting the compiler to enforce what you mean.

Even though it does not change the functionality, adding const generates a compiler error when you're doing things you didn't mean to do. Imagine the following typo:

void foo(int* ptr)
{
    ptr = 0;// oops, I meant *ptr = 0
}

If you use int* const, this would generate a compiler error because you're changing the value to ptr. Adding restrictions via syntax is a good thing in general. Just don't take it too far -- the example you gave is a case where most people don't bother using const.

Ref : https://bit.ly/33Cdn3Q