Решено: Вопросы ничего не знающего о C

Модератор: Модераторы разделов

drifterlom
Сообщения: 34

Решено: Вопросы ничего не знающего о C

Сообщение drifterlom »

вот куски кода из мана
#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \
}while (0)
static void
print_sigindo(siginfo_t *si)
{
бла бла бла
}
......
int main (int argc, char *argv[])
{
бла бла бла
}

расскажите пожалуйста:
1) после такого дефайна в код вместо errExit() будет такой цикл вставлен? это написано просто чтобы вместо двух строчек одну написать? и чего там за слэш перед закрытием скобки?
2) static void бла бла бла это объявление функции такое? почему static?
3) самое главное, везде вижу такое объявление main не могу вкурить что это за argc и *argv[]? объясните а?
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Решено: Вопросы ничего не знающего о C

Сообщение NickLion »

1) Да, это просто макрос - одно заменяется другим. Слеш не перед закрытием скобки, а перед переходом на новую строчку.
2) Да, это объявление функции. static - это только для языка C (не C++ !) - признак того, что данная функция будет видна только в данном файле (ограничение видимости).
3) argc - количество аргументов командной строки, включая имя программы, argv - сами аргументы (argv[0] - имя программы при вызове, argv[1] - первый аргумент и т.д.)

Ни один вопрос не связан с GNU/Linux, более того, прочтите хотя бы базовую информацию по языку, этих вопросов бы уже не было.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Решено: Вопросы ничего не знающего о C

Сообщение Portnov »

iУведомление от модератора

Один вопрос - одна тема. И действительно, видно, что топикстартер не прилагал никаких усилий для поиска ответа на свои вопросы, даже не смотрел ни в одну книгу/справочник по используемому языку.
Краткие объяснения уже даны, с этим уже можно идти в поиск. Будет что-то непонятно - создавайте темы.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
drifterlom
Сообщения: 34

Re: Решено: Вопросы ничего не знающего о C

Сообщение drifterlom »

Создавая тему я предвидел нападки =) но не смотря на них ответы таки получил, за что спасибо
про один вопрос одна тема не думаю что было бы удобно писать нападки аж в трех темах сразу =)
я понимаю что у вас тут свои правила и все должны им следовать, я конечно прошу прощения что от них отклоняюсь, но вроде плохо никому от этого не стало, а мне вы очень даже помогли. я читаю книжки по мере возможности, но программировать меня заставляет сложившаяся ситуация, вообще инженер в машиностроении должен другими вещами заниматься, а пол года паскаля на 1-м курс 6 лет назад... с этим тяжело жить
не нападайте плиз за зря, еще раз спасибо за ответы
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Решено: Вопросы ничего не знающего о C

Сообщение Portnov »

Автору: читайте правила. Тему переименую и закрываю.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали: