Witam. Nie umiem zbytnio zrozumieć komunikatów mojego IDE (Visual C++) dotyczących błędów pamięci. Program kompiluje się, działa ale i uruchamia się z błędem. Dodam, że mam duże braki wiedzy jeśli chodzi o używanie funkcji malloc i ogólnie język C. Proszę o wskazanie mi błędu i wyjaśnienie dlaczego jest źle.
/* Zadanie 1: Napisac w jezyku C funkcje przyjmujaca dwa lancuchy tekstowe,
alokujaca pamiec i zwracajaca połączone łańcuchy.
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *polaczLancuchy(char *string1, char *string2, int rozmiar){
char *nowy_string = (char *) malloc(sizeof(char) * rozmiar);
if(nowy_string==0) printf("Nie udalo sie przydzielic pamieci.\n");
nowy_string = strcat(string1, string2);
return nowy_string;
}
int main (){
char string1[6] = "abcde";
char string2[6] = "fghij";
int size = 11;
char *wynik = polaczLancuchy(string1, string2, size);
printf ("Polaczone lancuchy znakowe: %s\n", wynik);
free(wynik);
system ("PAUSE");
return 0;
}