“Malloc w c” Kod odpowiedzi

Malloc w 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

jakie jest zastosowanie Malloc w 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

Odpowiedzi podobne do “Malloc w c”

Pytania podobne do “Malloc w c”

Więcej pokrewnych odpowiedzi na “Malloc w c” w C

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu