Главная страница
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.007 c
1-1333881578
Ivan
2012-04-08 14:39
2015.11.29
Символьное дифференцирование


1-1334302310
TNK
2012-04-13 11:31
2015.11.29
Word - работа с таблицей


15-1428484727
han_malign
2015-04-08 12:18
2015.11.29
то ли не знал, то ли забыл...


15-1427583211
Германн
2015-03-29 01:53
2015.11.29
Ещё раз об "IncDay"


15-1427816887
Юрий Зотов
2015-03-31 18:48
2015.11.29
Коллективная разработка софта