Dynamická alokace paměti v jazyce C: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Založení článku)
 
m (Fix)
 
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.)
Řádka 1: Řádka 1:
#include <stdio.h>
+
<source lang="c">
+
#include <stdio.h>
#define MAXBUFF 10
+
 
+
#define MAXBUFF 10
int main()
+
 
{
+
int main()
  char *buffer;
+
{
  buffer=malloc(MAXBUFF+1);
+
  char *buffer;
    if (buffer == NULL) {
+
  buffer=malloc(MAXBUFF+1);
    printf("Nelze alokovat pamet\n");
+
  if (buffer == NULL) {
    return 1;
+
    printf("Nelze alokovat pamet\n");
  }
+
    return 1;
  fgets(buffer,MAXBUFF,stdin);
+
  }
  puts(buffer);
+
  fgets(buffer,MAXBUFF,stdin);
  return 0;
+
  puts(buffer);
}
+
  return 0;
 +
}
 +
</source>
  
 
== Cvičení ==
 
== Cvičení ==
  
 
;Příklad 1: Napište program, který pro každý řádek na vstupu bude alokovat a následně uvolňovat buffer o velikosti podle délky vstupního řádku.
 
;Příklad 1: Napište program, který pro každý řádek na vstupu bude alokovat a následně uvolňovat buffer o velikosti podle délky vstupního řádku.
 +
 +
[[Kategorie:Jazyk C v Linuxu]]

Aktuální verze z 21. 4. 2009, 08:47

#include <stdio.h>

#define MAXBUFF 10

int main()
{
  char *buffer;
  buffer=malloc(MAXBUFF+1);
  if (buffer == NULL) {
    printf("Nelze alokovat pamet\n");
    return 1;
  }
  fgets(buffer,MAXBUFF,stdin);
  puts(buffer);
  return 0;
}

Cvičení

Příklad 1
Napište program, který pro každý řádek na vstupu bude alokovat a následně uvolňovat buffer o velikosti podle délky vstupního řádku.