1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
int i;
char *c;
} chaine;
void show (chaine *ch);
void f (chaine *ch);
int main (void)
{
chaine p = { 0 };
f (&p);
if (p.c != NULL)
{
show (&p);
free (p.c), p.c = NULL;
}
return EXIT_SUCCESS;
}
void show (chaine *ch)
{
printf ("i = %d\n"
"c = %s\n", ch->i, ch->c);
}
void f (chaine *ch)
{
char const *s = "hello";
ch->c = malloc (strlen (s) + 1);
if (ch->c != NULL)
{
strcpy (ch->c, s);
ch->i = 12;
}
} |
Partager