Я так говорил про один конкретный совет
Я говорил про один ваш совет и остальные не ваши.
Юникс писался на том, что обычно называется K&R C, а Линукс - на ANSI C или C99
Юникс был разный, первый или первые написаны вообще на asm, последующие писались на разных СИ, и первые bsd и современные free bsd это тоже unix. Да, K&R C, отличался, суть языка не очень, с89, с99, с11, с18 различий сильно принципиальных в языке нет, речь я вел про них. Я имел ввиду с с89, книги K&R C со второго про него, ansi c . Я ошибся со ссылкой, не посмотрел на что ссылаюсь, я читал третье наверное или второе издание, про ansi C , причем давно, но я помнил что там стилем называется оформление, я нашел гуглом первую книжку, запросом с нужным и текстом и кинул ссылку. Но это по ссылке оказалось первое издание, это действительно другой СИ. Я вообще не программировал на K&R C, в те славные годы я был совсем ребенок. Но эта цитата про стиль есть и в третьем(которая ansi):
Цитата:
Си-компилятор не обращает
внимания на внешнее оформление программы, но наличие в нужных местах отступов и пробелов
существенно влияет на то, насколько легко она будет восприниматься человеком при просмотре.
Чтобы лучше была видна логическая структура выражения, мы рекомендуем на каждой строке
писать только по одной инструкции и с обеих сторон от операторов ставить пробелы.
Положение скобок не так важно, хотя существуют различные точки зрения на этот счет. Мы остановились на одном из нескольких распространенных стилей их применения. Выберите тот,
который больше всего вам нравится, и строго ему следуйте.
Большая часть вычислений выполняется в теле цикла.
warlock66613 в [url=http://dxdy.ru/post1344673.html#p1344673 писал(а):
Например, решить, использовать ли errno для возврата ошибок из своих функций.
А как это связано с языком? В тех unix`ах, которые писались на K&R C там, такое должно уже быть.
И да строки, это строки. И в СИ они нулем терминированные и printf стандартная функция, прям совсем стандартная прям в стандарте, которая работает со строками как с нуль терминированными. Но вы можете ей передавать, что угодно, но не нультерминированую, если вы даже в неё вставите ограничитель(я сомневаюсь, что конкретно вы сумеете), но если вдруг, она будет все равно печать пока не наткнется на ноль или кусок памяти которому она не может обращаться. Да. И не нультермированной строки быть не может, может быть только массив символов или указатель на блок памяти. И функциях которые стандартные для работы строк, работают со строками, а которые не со строками те для другого. Я отдохну, расскажу подробней, с примерами. А libc, вас кто рантаймом называть научил?