Wpis z mikrobloga

\0 to nie null, no i inaczej jak wiesz gdzie kończy się ta tablica char bez tego znaku?


@thexDguy: Normalnie, jak w innych językach. Możesz sobie trzymać osobno ten rozmiar.
To, że biblioteka standardowa tak działa, nie znaczy, że nie da się inaczej.
@VanQator: nie, ale musisz się liczyć z tym, że cała biblioteka standardowa C i większość zewnętrznych uznaje, że string to wskaźnik na tablicę, która kończy się znakiem '\0'. To design z lat 70 ubiegłego wieku, gdzie CPU było relatywnie tanie a pamięć cholernie droga. Null terminated stringi (nazywane też często C-string) są dobre, ponieważ zajmują mniej pamięci i sprawiają, że w zasadzie wystarczy jeden wskaźnik do pamięci, żeby móc pracować na
@VanQator: a co do cpp: normalnie się używa std::string, null terminated stringi są używane tylko w starym kodzie (czyli na studiach to niestety większość) i w przypadku, gdy integrujesz się z bibliotekami napisanymi w C.