“MALLOC em c” Respostas de código

MALLOC em c

#include <stdlib.h>

void *malloc(size_t size);

void exemple(void)
{
  char *string;
  
  string = malloc(sizeof(char) * 5);
  if (string == NULL)
    return;
  string[0] = 'H';
  string[1] = 'e';
  string[2] = 'y';
  string[3] = '!';
  string[4] = '\0';
  printf("%s\n", string);
  free(string);
}

/// output : "Hey!"
Thurger

Malloc

// if you initialize a pointer and want to use it like an array, 
// you have to claim the space you use, 
// that is what the memory-allocation-funtion (malloc) does;

// exaple for that: str(0) belongs to you, but str(1), str(2), ... do not
// if you do not use the malloc funtion; 
// you can access it, but it could be used by another programm;

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

void func(void)
{
    char *str = malloc(sizeof(char) * 5); // sizeof --> char needs 
    // a specific space per value saved;
    // *5 --> 5 is the number of values in the array;

    char *str1 = malloc( 5 * sizeof *str1 );//      |
    char *str2 = malloc( sizeof(char[5]) );//       | other syntaxes

    if(str == NULL) { exit(1); } // malloc returns NULL 
    // if it could not allocate the memory;
    str[0] = 'H';
    *(str+1) = 'e';	// used like pointer
    str[2] = 'y';	// used like array
    *(str+3) = '!';
    str[4] = '\0';

    printf("%s\n", str);

    free(str); // frees the memory allocated to str;
    // if you free the memory too early and try to access str later
    // that is called a memory leak;
}

int main(void)
{
    func();
    return 0;
}

// shell: Hey!

// improved version of Thurger's
DannyTheTiger

Qual é a utilidade de Malloc em C

In C, the library function malloc is used to allocate a block of memory on the heap. The program accesses this block of memory via a pointer that malloc returns. When the memory is no longer needed, the pointer is passed to free which deallocates the memory so that it can be used for other purposes.
Wandering Weevil

Respostas semelhantes a “MALLOC em c”

Perguntas semelhantes a “MALLOC em c”

Mais respostas relacionadas para “MALLOC em c” em C++

Procure respostas de código populares por idioma

Procurar outros idiomas de código