terve! miten saan aliohjelman palauttamaan char tyyppisen merkkijonotaulukon, mikä aliohjelman tyypiksi. riittääkö pelkkä char
c++,char[] taulukon palautus
pekka
2192
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
Palauttamalla taulukon osoitteen
esim:
char* aliohjelma()
{
char* merkkijono = "pilipali";
return merkkijono;
}
Paikallisia muuttujia ei saa palauttaa funktiosta.
Muistia pitää varata mallocilla, joka vapautetaan myöhemmin free:llä.
Parempi tapa on näin:
char* aliohjelma(void) {
char* merkkijono;
merkkijono = malloc(strlen("tekstiä"));
if (merkkijono == NULL)
return NULL;
memcpy(merkkijono, "tekstiä", strlen("tekstiä"));
return merkkijono;
}