Dynamická alokace paměti v jazyce C: Porovnání verzí
Z Milan Kerslager
(Založení článku) |
m (Fix) |
||
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.) | |||
Řádka 1: | Řádka 1: | ||
− | + | <source lang="c"> | |
− | + | #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; | |
+ | } | ||
+ | </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.