Δημοσιεύτηκε: 08 Απρ 2012, 15:50
από migf1
Παρεμπιπτόντως, ο συνηθισμένος τρόπος υλοποίησης του 2ου παραδείγματος που παρέθεσες παραπάνω είναι έτσι...

Μορφοποιημένος Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

// concatenates two strings
char *concat (const char *s1, const char *s2)
{
char *result = NULL;

result = malloc(strlen(s1) + strlen(s2) + 1);
if (result == NULL)
return NULL;

strcpy(result, s1);
strcat(result, s2);

return result;
}

int main(void)
{
char *p = NULL;

p = concat("Ena st", "ring.");
if ( p == NULL )
{
printf("Error: malloc failed in concat\n");
exit(EXIT_FAILURE);
}

p[1] = 'o';
puts(p);

free(p);
return 0;
}