Witam. Napisałem program, a mianowicie funkcje strcpy w mojej wersji, tak dla sprawdzenia (dodam, że dopiero jestem za tablicami w Symfonii C++)
#include <iostream>
using namespace std;
void strcpyz(char _Dest[], const char _Source[])
{
int i = 0;
while(_Dest[i] = _Source[i])
i++;
}
int main(int argc, char *argv[])
{
char alibaba[3];
strcpyz(alibaba, "Alibaba i 3 rozbojnikow");
cout << alibaba << "\n";
return 0;
}
Wydawało mi się, że jak alibaba jest tablicą 3 elementową typu char, to może ona przechowywać tylko 3 znaki.
To dlaczego wyświetla mi cały tekst Alibaba i 3 rozbojnikow ? Wiem, że po drodze nie ma znaku null, czy dalsze te znaki to komórki pamięci znajdujące się zaraz po alibaba czy właśnie w alibaba leży ten cały tekst a nie tylko 3 znaki ?