// lub również poprawnie: *s = 'H';
Z uwagi, że w C++ łańcuchy znaków są typu const char* kompilatory powinny wykrywać próbę niejawnej konwersji zmiennej const char* do typu char* i zgłosić uwagę podczas kompilacji.
Odwołanie do zerowego adresu pamięci Ponieważ dosyć częstym błędem jest próba zapisu/odczytu spod zerowego adresu pamięci (wskaźnik zainicjowany wartością NULL – oznaczającą brak obiektu), większość systemów operacyjnych nie alokuje adresu zerowego dla jakichkolwiek danych do odczytu lub zapisu. W systemach tych próba zapisu lub odczytu danych oraz wykonania instrukcji znajdujących się pod adresem zerowym kończy się zgłoszeniem błędu naruszenia ochrony pamięci.
int *ptr = NULL; printf("%d", *ptr);
Powyższy kod tworzy zerowy wskaźnik i próbuje przeczytać dane, do których on wskazuje. Wykonanie tego kodu spowoduje naruszenie ochrony pamięci na systemach wspierających ochronę pamięci.