Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.11.29;
Скачать: CL | DM;

Вниз

Неожиданный синтаксис Си   Найти похожие ветки 

 
KSergey ©   (2015-03-27 09:55) [0]

Я понимаю, что я "не туда", и всё же.
Попалась в википедии ссылка на исходники "Червя Морриса".
Там используется какой-то неведомый мне синтаксис.
Это какой-то диалект Си, который я не застал?

Необычность в описании типа аргументов функции.
Написано так:

des(adr1, adr2)
    int *adr1, *adr2;
{
......
}

ipi(iptr1, iptr2)
          int *iptr1, *iptr2;
{
......
}


 
RWolf ©   (2015-03-27 10:04) [1]

Когда-то Си был вот таким.


 
Rouse_ ©   (2015-03-27 10:15) [2]

Валидная декларация, можно так:
int *iptr1, *iptr2;
а можно и эдак:
int * iptr3, iptr4;


 
DVM ©   (2015-03-27 10:30) [3]


> KSergey ©   (27.03.15 09:55) 

Это старый стиль определения формальных параметров функции.


> Rouse_ ©   (27.03.15 10:15) [2]

Он про другое спрашивает, он про параметры функции


 
Jeer ©   (2015-03-27 10:30) [4]

Объект типа int декларировать не обязательно.
Допустимы

void F(x);

void F(int x);

void F(x)
int x;
{..}

//Вар 1 декларации
класс-памяти тип-результата идентификатор ( список-типов-параметров )
{
   список-деклараций
   список-команд
}

//Вар 2 декларации
класс-памяти тип-результата идентификатор ( список-идентификаторов )
список-деклараций
{
   список-деклараций
   список-команд
}


 
Jeer ©   (2015-03-27 10:32) [5]

P.S.
Второй способ - устаревший.


 
Inovet ©   (2015-03-27 15:00) [6]

> [2] Rouse_ ©   (27.03.15 10:15)
> int *iptr1, *iptr2;
> а можно и эдак:
> int * iptr3, iptr4;

видимо, имелось ввиду эдак
int * iptr3, * iptr4;


 
KSergey ©   (2015-03-30 11:58) [7]

Понял, всем спасибо за пояснения.


 
brother ©   (2015-03-30 12:00) [8]

> "Червя Морриса".

ностальжи?)


 
Dimka Maslov ©   (2015-03-30 12:15) [9]

К слову сказать, именно такой синтаксис породил т.н. венгерскую нотацию, потому-что из заголовка функции был абсолютно неясен тип аргументов. Вот и выкрутились...


 
KSergey ©   (2015-03-30 16:40) [10]

А я и сейчас считаю, что венгерская нотация - самое правильное изобретение.


 
junglecat ©   (2015-03-30 16:44) [11]

Все правильные изобретения были сделаны либо из-за лени, либо из-за неудобства


 
brother ©   (2015-03-30 17:03) [12]

Ну, мыж знаем зачем придумали такой "понятный" синтаксис



Страницы: 1 вся ветка

Текущий архив: 2015.11.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
2-1402491436
Sakipiel
2014-06-11 16:57
2015.11.29
Фильтр ClientDataset не работает


15-1428565202
ВладОшин
2015-04-09 10:40
2015.11.29
Чудеса какие то в отладке


11-1259870840
Dy1
2009-12-03 23:07
2015.11.29
SubMenu


15-1427898124
Dimka Maslov
2015-04-01 17:22
2015.11.29
А вот почему?


15-1428575410
картман
2015-04-09 13:30
2015.11.29
как называется