[c++] tablice znakowe, funkcje operujace na pamieci

0

Witam,

Mam tablice:
char tekst6[100];

Dlaczego takie przypisanie:

tekst6 = ”Test”

jest błędne, a rozwiązanie:

memcpy( tekst6, ”Test”, 5 );

jest poprawne?

Mam jeszcze pytanie odnosnie funkcji operujacych na pamieci (memcpy, memmove itd), jakie sa ich zalety?
Poniewaz, mozna zrobic np. kopiowanie elementow z 1 tablicy do 2 przy pomocy peli lubprzy pomocy w.w funkcji.

Pozdrawiam

0

Spójrz na to tak - tablica char'ów niczym nie różni się od tablicy int'ów, poza typem danych, który przechowuje.
Czy możesz napisać:

int tab[10];
tab = 1235;

?
Co ten kod według ciebie znaczy?
Gdy mamy tablicę, musimy przypisywać do jej konkretnych pól, a nie do niej.
Ok, powyższy przykład tłumaczy raczej, czemu nie wolno napisać tekst = "T". Ale idąc dalej tym tokiem:

int tab[10];
tab = 3.15;
tab = 3, 15;

Oba błędne.

Zalety memcpy itp.? No właśnie takie, że nie musisz robić tego w pętli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1