В стандартной библиотеке C имеется множество функций-строк, например (в string.h
)
char *strcat(char *str1, const char *str2);
или (в stdlib.h
)
long int strtol(const char *nptr, char **endptr, int base);
(игнорироватьмудрость вызова этих функций для целей этого вопроса.)
Что произойдет, если я передам любую из этих функций NULL
указатель?(Я имею в виду (char *) 0
, а не пустую строку.)
Я не нашел ответов на справочных страницах или в Интернете.
Это заставляет меня думать, что это определяется реализацией, но это также может означать ошибку автоматической сегментации;специальное поведение ошибки или возвращаемые значения также не указываются.
Может ли поведение даже варьироваться от функции к функции в рамках одной и той же реализации?