null что за кнопка

За что на самом деле отвечает клавиша Num Lock?

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Скорее всего, каждый пользователь компьютера замечал на своей клавиатуре загадочную клавишу Num Lock. При нажатии на нее обычно загорается светодиодный индикатор, но больше ничего не происходит. Из-за этого многие люди не знают, зачем нужна эта кнопка.

Где находится и как включается/отключается

Нум Лок находится справа на клавишной панели в отдельном блоке кнопок. Ее расположение можно увидеть на фото ниже.

Чтобы включить клавишу, достаточно просто нажать на нее. Если загорелся индикатор, значит, она заработала. Повторное нажатие отключит лампочку и, соответственно, выключит особый режим.

История и основная функция

Впервые Нум Лок появилась в 1984 году, когда компания IBM выпустила первую 84-клавишную панель для второго поколения компьютеров IBM PC/AT. Чтобы удешевить комплектующие компьютера, производители отказались от дополнительных курсорных клавиш. Теперь одни и те же элементы могли выполнять сразу несколько функций: вводить цифры и управлять курсором. Чтобы переключаться между этими режимами была придумана кнопка «Фиксация цифр».

Со временем на многих клавиатурах снова появились отдельные курсорные элементы. Однако Нум Лок все еще можно увидеть на ноутбуках, нетбуках и некоторых стационарных клавиатурах. Иногда ее может заменять Fn.

Устройства производства Apple вовсе не имеют такой кнопки. Вместо нее на панели можно найти Clear Key.

Все комбинации с Num Lock

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

ВключенаВыключена
1end
2Down arrow (↓)
3pg dn
4Left arrow (←)
5
6Right arrow (→)
7home
8Up arrow (↑)
9pg up
0ins
,del

Обычным пользователям может никогда не пригодиться режим Num Lock, так как все числа можно найти среди обычных клавиш. Данной функцией чаще всего пользуются профессиональные программисты. Цифры в правой части расположены в том же порядке, что и на обычном калькуляторе. Это позволяет значительно ускорить работу.

Клавиша фиксации появилась на компьютерных клавиатурах достаточно давно. Однако многим пользователям неизвестно, какую функцию она выполняет. Данный элемент предназначен для переключения между режимами, позволяющими вводить цифры или управлять курсором.

Источник

Обзор назначения клавиш компьютерной клавиатуры. Полезно для начинаюших пользователей.

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Как знакомство с театром начинается с вешалки, так и знакомство с компьютером начинается со знакомства с клавиатурой. Это только на первый взгляд кажется, что клавиатура нужна только для вывода текста на экран компьютера или ноутбука. Однако далеко не все знают, что с помощью сочетаний клавиш клавиатуры можно управлять компьютером.

Все клавиши по назначению делятся на пять групп, каждая из которых поможет ускорить работу на компьютере и сделать ее наиболее эффективно и быстро. Благодаря использованию дополнительных кнопок и сочетания клавиш вы быстрее наберете текст, составите отчет, заголовок или диаграмму.

Но для начала необходимо понимать, что клавиатуры могут быть нескольких видов, и соответственно количество клавиш у них будет разное.

Виды клавиатур

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Сегодня мы познакомимся с назначением клавиш стандартных или полноразмерных клавиатур, которые встречаются чаще всего.

Разделение клавиатуры на группы

Можно сделать условное разделение на 5 групп:

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

С расположением клавиш мы разобрались, теперь самое время попробовать использовать из в деле.

Знакомство с курсором

Для работы с текстом необходим текстовый курсор.

Текстовым курсором называют мигающую вертикальную или горизонтальная черточку,которая указывает на экране местоположение вновь вводимого с клавиатуры символа. Наверняка вы видели его,потому что он начинает мигать на экране сразу же после загрузки компьютера

Для управления курсором предусмотрены на клавиатуре стрелки вправо, влево, вниз, вверх и также, следующие клавиши:

Об их предназначении подробно описано на скриншоте ниже.

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Стрелками перемещения курсора можно пролистывать изображения, использовать для перемещения в играх и перемещаться по страницам текста.

В правой части клавиатуры находится дополнительная клавиатура, на которой расположены цифровые клавиши и клавиши математических действий, а также дополнительная клавиша Enter. Эта группа клавиш включается в работу нажатием кнопки NumLock.

При отключенном режиме NumLock дополнительную клавиатуру можно использовать для управления курсором — на клавишах с цифрами есть дополнительные надписи и стрелки, указывающие на функции данной клавиши.

Клавиша пробел, самая большая на клавиатуре

Есть еще одна очень важная по назначению клавиша, которая называется «пробел», находится она внизу клавиатуры и является самой большой. При наборе текста она делает пробел между словами, а при выделенном фрагменте текста заменяет его на пробел, что ускоряет работу в текстовом редакторе.

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Световые индикаторы клавиатуры

В верхнем правом углу расположены световые индикаторы, загорающиеся при включении той функции,за которую они отвечают.

Первый загорается при включенном режиме NumLock., второй, когда включен режим заглавных букв Caps Lock, третий индикатор загорается при включении Scroll Lock и эта клавиша нужна для включения режима, при котором можно прокручивать страницу вверх-низ клавишами перемещения курсора. Но она работает не на всех компьютерах.

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Служебные клавиши

Есть еще несколько служебных клавиш, которые могут понадобиться при работе:

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Знакомство с регистрами

Вот собственно и все клавиши на вашей клавиатуре, осталось разобраться как ими пользоваться. Как вы могли заметить, все клавиши буквенно-цифрового отдела клавиатуры имеют двоичное или даже троичное обозначение символов, как правило обозначенных двумя цветами. А как же пользоваться ими? А вот для этого и существует кнопка Shift и комбинация клавиш, переключающая язык ввода текста, на разных клавиатурах может быть разные комбинации, но чаще всего это одновременное нажатие клавиш Ctrl+Alt или Alt+Shift.

При нажатии клавиши Shift будут выводиться заглавные буквы с буквенной группы клавиатуры и значки верхнего регистра цифровых клавиш. В зависимости от языка ввода текста при нажатии Shift будут печататься:

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Например, если на клавише изображено три символа,

то один из них вводится при простом нажатии клавиши (это символ «3»)

второй символ «№» при нажатии клавиши на русской раскладке и символ «#» на английской раскладке клавиатуры

Соответственно на дополнительной цифровой панели справа при включенной клавише Num Lock будут выводиться цифры, при выключенной функции Num Lock будут выполняться команды управления курсором HOME, END, PAGE UP, PAGE DOWN, DELETE, INSERT и стрелки.

Комбинации клавиш для ввода символов

Есть еще секреты в использовании клавиш компьютерной клавиатуры, такие как набор символов, которых нет в стандартной клавиатуре. Одно дело, если вы набираете текст в редакторе Word, там эти символы заложены программистами, а если вы набираете текст в обычном текстовом редакторе или блокноте, но символы, обозначающие например значки валют различных стран или иные символы и иконки ☻,♥ и прочие, то вам в помощь будут очень полезны следующие комбинации клавиш:

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

«Горячие» комбинации клавиш

Есть и еще “секретные” комбинации клавиш, они еще называются “горячими” или глобальными и нужны для скорости ввода текста в редактор или управления командами на ПК:

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

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

Чтобы понять, какая клавиатура удобнее, при покупке попробуйте нажать несколько клавиш, сравнив ощущения. Некоторые устройства слишком громко щелкают во время использования или нажимаются более жестко. При нажатии становится понятно, на какую глубину погружаются кнопки.

Есть клавиатуры с подсветкой, есть эргономичные клавиатуры которые благодаря изгибу корпуса позволяют работать по несколько часов без появления усталости в руках.

Источник

Элементы графического интерфейса пользователя массива Null после нажатия кнопки

Я считаю, что проблема где-то между тиком моего GameEngine. Другими словами, я думаю, что в одном внутриигровом буфере элементы графического интерфейса по какой-то причине обнуляются. Вот мой код: Класс GameEngine:

GUIButtonMultiplayer (кнопка, которая переводит вас из графического интерфейса заголовка в графический интерфейс параметров многопользовательской игры)

Класс панели (содержит переменную mouseClicked)

GameState класс (реализация)

Этот код генерирует исключение NullPointerException при отрисовке графического интерфейса. Если я закомментирую строку

Тогда он просто создает исключение NullPointerException, в котором вместо этого буферизуется графический интерфейс. Вот фрагмент вывода:

Какой элемент графического интерфейса отображается как null, кажется случайным.

1 ответ

Мне кажется, что вы используете статический массив GameState.GUI для элементов графического интерфейса (пожалуйста, поправьте меня, если я ошибаюсь).

А в другом месте кода вы последовательно обращаетесь к этому статическому массиву графического интерфейса. Кажется, что иногда случается, что другой код изменяет содержимое этого статического массива графического интерфейса пользователя (подобный код может быть виновником GUI=new GUI[1]; ), в то время как другой код как раз собирается начать цикл по этому массиву. Вы должны изменить свой код, чтобы этого не произошло. Вы можете синхронизировать методы, которые обращаются к этому статическому массиву графического интерфейса (но это заблокирует другие методы и заставит их ждать, что может или не может быть приемлемым для вашего варианта использования).

Если вы определили, что это действительно причина проблемы (а может и нет), и вы хотите избежать использования синхронизированных методов, у вас есть другие варианты. Вы можете узнать, как работает двойная буферизация. Используя 2 массива, всегда считывая с основного и всегда изменяя второстепенный, и просто переключаясь между ними.

Или, если вы хотите сохранить текущий код, вы можете изменить эти шаблоны:

С этим шаблоном везде в коде, где вы используете GUI=new GUI[. ]; :

Этого может быть достаточно, чтобы избежать проблемы.

Источник

Значение NULL: руководство для начинающих

Если вы далеки от работы с базами данных, для вас может быть открытием, что ноль – это не значение NULL, хотя, признаем, они созвучны. Кроме того, NULL не является значением пустой строки, хотя можно найти поле, содержащее данные любого типа.

NULL можно представить как значение для представления неизвестного фрагмента данных (обратите внимание: не нулевого, хотя поле при этом выглядит пустым). А еще он не равен ничему, даже другому NULL. И сегодня мы поговорим об этом загадочном (на первый взгляд) значении NULL более подробно.

Пример значения NULL

Итак, что вы должны знать о значении NULL? Давайте разбираться.

Представьте себе письменный стол, на котором лежат канцелярские принадлежности: 6 шариковых ручек и 2 простых карандаша. Также известно, что в ящике стола должны быть фломастеры. Но вот сколько их и есть ли они вообще — данных нет. Если нам нужно составить таблицу инвентаризации с вводом значения NULL, то выглядеть она будет так:

InventoryIDItemКоличество
1ручки6
2карандаши2
3фломастерыNULL

Как вы понимаете, принимать за «0» количество фломастеров в данном случае было бы неверным, так как подобная запись показывала бы, что фломастеров нет вообще. Но точные данные об их количестве отсутствуют, поэтому может оказаться, что несколько штук все же есть.

Значение NULL и НЕ NULL

IS NULL и IS NOT NULL – специально созданные операторы, которые осуществляют сравнение имеющихся NULLов. IS NULL возвращает истину, если операнда является NULLом. Соответственно, если операнд не является NULLом, то значение будет ложным.

select case when null is null then ‘YES’ else ‘NO’ end from dual; — YES

select case when ‘a’ is null then ‘YES’ else ‘NO’ end from dual; — NO

IS NOT NULL имеет обратный принцип: значение будет истинным, если операнд не является NULLом, и ложным, если он таковым является.

select case when ‘a’ is NOT null then ‘YES’ else ‘NO’ end from dual; — YES

select case when null is NOT null then ‘YES’ else ‘NO’ end from dual; — NO

Учтите, что когда речь идет об отсутствующих значениях, есть особые случаи их сравнения:

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Вот так проявляет себя DECODE:

, null, ‘EMPTY’ — это условие будет истинным

Значение NULL в MySQL

Результат при сравнении NULLов, в зависимости от операции SQL, часто будет иметь значение NULL. Предположим, что А НЕДЕЙСТВИТЕЛЕН:

Ваш Путь в IT начинается здесь

Логические операции и NULL

Для логических операторов AND и OR есть свои особенности при работе со значением NULL. Краткое руководство рассмотрим на примере.

Чаще всего с неизвестным результатом работают как с ЛОЖЬЮ:

select 1 from dual where dummy = null; — запрос не вернёт записей

При отрицании неизвестности результатом будет НЕИЗВЕСТНО:

exec test_bool( not(null = null)); — UNKNOWN

exec test_bool( not(null = ‘a’) ); — UNKNOWN

exec test_bool(null or true); — TRUE Главный карьерный консультант

Мы в GeekBrains каждый день обучаем людей новым профессиям и точно знаем, с какими трудностями они сталкиваются. Вместе с экспертами по построению карьеры поможем определиться с новой профессией, узнать, с чего начать, и преодолеть страх изменений.

Карьерная мастерская это:

Уже 50 000 человек прошли мастерскую и сделали шаг к новой профессии!

Запишитесь на бесплатный курс и станьте ближе к новой карьере:

Зарегистрироваться и получить подарки

Операторы IN и NOT IN для значения NULL

Чтобы понять взаимодействие этих операторов с NULLом, рассмотрим пример.

Создадим таблицу Т, состоящую из одного числового столбца А и строками: 1, 2, 3 и NULL.

create table t as select column_value a from table(sys.odcinumberlist(1,2,3,null));

Затем выполним трассировку запроса (учтите, что для этого нужно обладать ролью PLUSTRACE).

От трассировки в листингах оставлена часть filter, чтобы показать преобразование указанных в запросе условий.

Теперь, после подготовительных действий, попробуем выбрать те записи, которые будут соответствовать набору (1, 2, NULL).

select * from t where a in(1,2,null); — вернёт [1,2]

— filter(«A»=1 OR «A»=2 OR «A»=TO_NUMBER(NULL))

По какой-то причине строка с NULLом не выбрана. Возможно, это случилось потому, что вычисление предиката «А»=TO_NUMBER(NULL) вернуло состояние НЕИЗВЕСТНО. Попробуем явно указать условие включения NULLов в результаты запросов:

select * from t where a in(1,2) or a is null; — вернёт [1,2,NULL]

— filter(«A» IS NULL OR «A»=1 OR «A»=2)

Попробуем с NOT IN:

select * from t where a not in(1,2,null); — no rows selected

— filter(«A»<>1 AND «A»<>2 AND «A»<>TO_NUMBER(NULL))

Ни одной записи так и не появилось.

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Это объясняется тем, что трехзначная логика NOT IN не взаимодействует с NULLами: при попадании NULL в условия отбора данных можно не ждать.

Значение NULL и пустая строка в СУБД

Oracle отличается от стандартов ANSI SQL в определении NULLов: он проводит знак равенства между NULL и пустой строкой. Эта особенность программы рождает много споров, хотя Oracle и заявляет, что, возможно, в будущих релизах будет изменен подход в обработке пустой строки, как NULL. Но в реальности проведение таких изменений сомнительно, так как под эту СУБД написано неимоверное количество кода.

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Чтобы работа приносила удовольствие, нужно сначала найти правильную профессию.

Мы подготовили документы, которые помогут не ошибиться с выбором и определить, какая профессия в IT подходит именно тебе.

Благодаря этим гайдам 76% наших студентов смогли найти востребованную профессию своей мечты.

Обычно эти документы доступны только нашим студентам, мы какое-то время будем раздавать их бесплатно, но очень скоро уберем их из открытого доступа.

Скачивай и используй уже сегодня:

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Гайд по профессиям в IT

5 профессий с данными о навыках и средней заработной плате

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Чек-лист эффективного обучения от Geekbrains

6 правил, которым необходимо следовать для облегчения обучения

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Все профессии, которые есть в IT-сфере

63 профессии и необходимые для них навыки

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопка

Рекомендации по книгам для востребованных специалистов

6 направлений деятельности и полезная литература по каждому из них

exec test_bool( » is null ); — TRUE

Если попытаться найти причину, почему вообще пустую строку стали считать эквивалентной NULL, то ответ можно найти в формате хранения varchar`ов и NULLов внутри блоков данных. Табличные строки Oracle хранит в структуре, представляющей собой заголовок и следующими за ним столбцы с данными.

Каждый столбец, в свою очередь, состоит из 2-х полей: длина данных в столбце (1 или 3 байта) и сами данные. При нулевой длине varchar2 в поле с данными нечего вносить, так как оно не занимает ни байта. В поле же, где указывается длина, вносится специальное значение 0xFF, что и означает отсутствие данных.

NULL Oracle представляет аналогично, то есть отсутствует поле с данными, а в поле длины данных вносится 0xFF. Так как изначально разработчики Oracle не разделяли эти два состояния, то и сейчас принцип внесения данных не изменился.

null что за кнопка. Смотреть фото null что за кнопка. Смотреть картинку null что за кнопка. Картинка про null что за кнопка. Фото null что за кнопкаЗначение NULL

Понятие «пустая строка» допустимо толковать как абсолютное отсутствие значения, так как ее длина равна нулю. NULL же, в свою очередь, имеет длину неопределенного значения. Поэтому выражение length (») возвращает NULL, а не ожидаемый ноль.

Еще одна причина, по которой нельзя сравнивать NULL с пустой строкой: выражение val = » вернёт состояние НЕИЗВЕСТНО, так как, по сути, идентично val=NULL.

Неопределенная длина пустой строки:

select length(») from dual; — NULL

Сравнение с пустой строкой невозможно:

Критика такого подхода Oracle к значениям NULL и пустой строки, основывается на том, что не всегда пустая строка может означать неизвестность. Например, когда менеджер-продавец вносит данные в карточку клиента, то в поле «Контактный номер» он может указать конкретный номер; также он может указать, что номер неизвестен (NULL); но еще он может указать, что номера как такового нет (пустая строка).

Отличия между null и undefined

Можно сказать, что NULL – это такое значение, которое является определенным для отсутствующего объекта. UNDEFINED же означает именно неопределенность. Например:

// значение переменной element до её инициализации не определённо: undefined

// здесь при попытке получения несуществующего элемента, метод getElementById возвращает null

// переменная element теперь инициализирована значением null, её значение определено

Осуществляя проверку на NULL или UNDEFINED, нужно помнить о разнице в операторах равенства (==) и идентичности (===): с первым оператором производится преобразование типов.

typeof null // object (не «null» из соображений обратной совместимости)

typeof undefined // undefined

null === undefined // false

null == undefined // true

Это все то, что вы должны знать о значении NULL. Обрастая опытом и применяя некоторые уловки для избежания NullPointerException, вы научитесь делать безопасный код. Главным образом неразбериха возникает из-за того, что NULL может трактоваться как пустое значение или как неидентифицированное.

Поэтому важно документально фиксировать поведение метода, когда есть входящее значение NULL. Держите в памяти, что NULL – это значение по умолчанию ссылочных переменных. И вызывать методы экземпляра или получать доступ к переменным экземпляра, применяя NULL-ссылку, вы не можете.

Источник

Что такое NULL

ВНИМАНИЕ! Вопросы по существу обсуждаемого вопроса просьба задавать здесь или создать тему на форуме и кинуть на неё ссылку в блог или мне в личку.

Причин для этого несколько.

Я, как и любой другой автор, всегда могу упустить интересный момент обсуждаемой темы (что подтвердилось на практике). А потому задаваемый вопрос может закрывать пробел в статье. Ответ на конкретный вопрос, как правило, дать несложно. Сложнее его аккуратно сформулировать так, чтобы ответ являлся законченной частью статьи. Поэтому, как правило, на первых порах я ограничиваюсь конкретным ответом на конкретный вопрос, а в статью временно вставляю ссылку на пост, где был дан ответ. А когда дойдут руки, то вместо ссылки пишу нормальное пояснение. Технические возможности блога не позволяют в комментариях пользоваться широкими возможностями, доступными на форуме (то как выделение текста жирным, вставка фрагментов исходников в удобном для чтения виде и т.п.), поэтому будет удобнее, если вопрос и ответ будут опубликованы на форуме

Любая статья является изложением знаний в общем случае. У многих людей мышление устроено так, что прочтя на форуме конкретный вопрос и конкретный ответ на этот вопрос, у них появится бОльшее понимание, чем после прочтения теоретических выкладок (даже если они подкреплены конкретными примерами). Ссылки на такие обсуждения я, как правило, включаю в последний раздел статьи.

Начинающие, как правило, поиск ответов на свои вопросы ведут именно в форуме, а не в блогах. А потому конкретный вопрос и конкретный ответ для них будет более удобным и полезным именно на форуме. Многие люди умеют работать методом тыка, лишь бы был конкретный пример в качестве образца. А потому такое обсуждение будет им полезным даже без прочтения статьи

Исторически сложилось, что раньше (когда ещё не было блога) статьи располагались на форуме и представлены были в виде двух тем. Первая тема создавалась в специально отведённой свалке и представляла собой черновик, который со временем дорабатывался до законченной статьи. После этого статья переезжала во вторую тему в тематическом разделе. А первая тема оставалась дополнительной свалкой для замечаний и мелких вопросов по теме. Ссылку на старое местоположение данной свалки я помещаю в начале статьи. Вопросы, по возможности, прошу создавать в отдельных темах, но если вопрос действительно мелкий, то можно его задать и в указанной свалке.

ВНИМАНИЕ! Как выяснилось, это не так. Описанное поведение в общем-то имеет место быть, но это НЕ стандартное поведение (т.е. противоречит стандарту языка Си). Статью на всякий случай не удаляю, пусть будет лишним напоминанием на тему того, что можно быть на 100% в чём-то уверенным, но при этом ошибаться

Если вернуться к тем же самым сигнальным процессорам, на которых мало памяти, то как правило их программируют «ручками» на ассемблере. Но тем не менее под многие сигнальные процессоры существуют компиляторы с языка Си. Полноценных программ на Си не пишут, но пишут программные прокладки, которые вызывают ассемблерные коды. Ну и, поскольку компилятор всё-таки есть, стандарт языка есть, то приходится в том числе поддерживать и корректную работу с NULL.

Хочется описать некоторые тонкие моменты. Использование rvalue (выражения, допустимого в правой части присваивания) в операциях сравнения эквивалентно сравнению с нулём. Т.е.

При этом «ноль», с которым делается сравнение, должен соответствовать некоторому «нулевому значению конкретного типа». Для числовых типов (целых и плавающих) таким «нулём» является целочисленный и плавающий нули. А вот для указателя «нулём» является значение NULL. Таким образом

В случае статической инициализации глобальной переменной имеем такую же ситуацию. Глобальная переменная инициализируется «нулём» соответсвующего типа. И код

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *