Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.11.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
2-1402463865
otan
2014-06-11 09:17
2015.11.29
ShellExecute и ошибка на NativeUInt


15-1419436548
Kerk
2014-12-24 18:55
2015.11.29
delphimaster.net


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


4-1274320655
Yus54
2010-05-20 05:57
2015.11.29
Поик URL в паралельном потоке


2-1402861787
eh
2014-06-15 23:49
2015.11.29
Обновление записей в TpFibDataSet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский