Что означает это странное определение C++?

У меня есть странное определение функции в моем коде домашней работы, и я не знаю, что это должно означать.

char *
sh_single_quote (string)
char *string;
{...}

Особенно "char *string;" строка с точкой с запятой в конце.

1 ответ

Это объявление стиля в стиле K&R на языке Си.

В C вы обычно пишете функцию как:

size_t strlen(const char *str)
{
    //code
}

В стиле K&R это будет записано как:

size_t strlen(str)  <--- here you write only the param name
const char *str;    <--- here you write the type along with param name!
{
   //code
}
Другие вопросы по тегам