Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Синтаксис Си 
:(
    Опции темы
Foror
Дата 15.12.2004, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 14.2.2004

Репутация: нет
Всего: 2



push(d)
Datum d; <-- Что это такое?
{
if (stackp >= &stack[NSTACK])
execerror("stack too deep", (char *)0);
*stackp++ = d;
}

Есть такая запись, интересующее меня место помечено стрелочкой.

--------------------
Разработка веб-сайтов и создание интернет магазина
PM MAIL WWW ICQ   Вверх
Дрон
Дата 15.12.2004, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Скорее всего какая-то структура...


--------------------
Да. Именно так.
PM   Вверх
_hunter
Дата 15.12.2004, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



или класс


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Foror
Дата 15.12.2004, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 14.2.2004

Репутация: нет
Всего: 2



Я знаю, что это структура, вы мне скажите, что означает, когда пишут Datum d, между определением имени функции и её телом?
--------------------
Разработка веб-сайтов и создание интернет магазина
PM MAIL WWW ICQ   Вверх
_hunter
Дата 15.12.2004, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



Цитата
Я знаю, что это структура, вы мне скажите, что означает

какой вопрос -- такой ответ smile

возможно это очепятка и должно быть так:

Datum d;
push(d)
{


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Hroft
Дата 15.12.2004, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 20.10.2003
Где: Москва

Репутация: нет
Всего: 3



Ооо... Это старо.
В С было принято в скобочках после имени функции писать ИМЕНА аргументов, а между именем и телом конкретизировать ТИПЫ аргументов. Эквивалентно теперешнему
int push(Datum d)
{
...
}
PM MAIL ICQ   Вверх
Ptica
Дата 15.12.2004, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 27.7.2004

Репутация: нет
Всего: 2



Это не опечатка.
Это устаревший синтаксис Си.
Теперь написали бы так:
Код

void push(Datum d)
{
if (stackp >= &stack[NSTACK])
execerror("stack too deep", (char *)0);
*stackp++ = d;
}

В ранних диалектах Си параметры функции описывались именно между заголовком и телом функции. Современные компиляторы, как правило, тоже могут допускать такую запись.

P.S. Когда я это писал, предыдущего поста еще не было... smile


Это сообщение отредактировал(а) Ptica - 15.12.2004, 13:13
PM MAIL   Вверх
Hroft
Дата 15.12.2004, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 20.10.2003
Где: Москва

Репутация: нет
Всего: 3



Только INT, а не VOID был типом по умолчанию.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2695 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.