Sziasztok!
Elörebocsátom, nem vagyok valami expert c-ből ezért is teszek fel ilyen lamer kérdést.
A feladat, öszefűzni két sztringet amit a strcat(a,b) függvény végezne, de csak akkor, ha van elég hely az a változóban, különben futás közben leáll. Ha simán definiálom a-t és b-t:
char *a;
char *b;
a="elsö ";
b="második"
strcat(a,b)
visszatérése után a-ban "első második"-nak kéne lenni, de miután nem foglaltam helyet a-ban b-nek így a program futás közben leáll.
Gondoltam másképp definiálom a-t és kap egy mutatót amit ugye a:
char a[100]; // a karaktertömb
char *ap; // a karaktertömbre mutató mutató
ap=a; // vagy ap=&a[0]; // a karaktertömb első elemének a címe
tenne meg. Ez azért nem műxik mer ap char mutatónak van definiálva és szerintem ezért a cím amit kap nem igazán a-ra mutat. Nekem logikusnak a:
char a[100];
int *ap;
ap=a; // vagy ap=&a[0];
deklaráció tűnne, miután ap-ben címek mozognak, de a fordító már fordításkor kiírja, hogy hibás értékadás. Ha valaki tudja, hogy mit rontok el attól szívesen fogadnám a segítséget.
Üdv:
dj