Наглядная разница между 0 и null / программирование :: профессиональный юмор :: наглядно :: разница

Sol Sol
программирование разница наглядно профессиональный юмор 

Наглядная разница между 0 и null



Ч1/Л,программирование,разница,наглядно,профессиональный юмор
Подробнее
 Ч1/Л
программирование,разница,наглядно,профессиональный юмор
Еще на тему
Развернуть
JOnatan KERtis JOnatan KERtis 24.03.201710:56 ссылка
+32.8
И математикой.
Кто о чем, а кармодрочер о карме.
Какое у тебя богатое воображение, chornu88
просто он живет в секретных разделах
Ну-ка за кармадрочера проясни
Кстати, кто то может мне обьяснить почем такое происходит?
Очень маленькое отрицательное число, которое округляется к 0, но записывается все равно с минусом.
Ты не прав, а потому поправлю. Такое происходит, когда человека вытащили из минусов, но при этом кармы не хватило перевалить через ноль
Подтвердим теорию. Кто не будь. Поставьте ему плюсик! Но только один!!!
теория не потдтвердилась.
Ну наличие втулки дает кое-какие возможности.
Futter Futter 24.03.201710:08 ответить ссылка 10.5
как и 0 - например, математические дейстия, не?
А на операции с null система заворачивает.
null можно присвоить, null можно проверять.
Но нельзя прибавить/отнять/итд. Это называется операции. А то что вы указали- ассайменты и сравнения. Хотя тас тоже только на уровне Нуль- не Нуль.
>Но нельзя прибавить/отнять/итд.
В мире, где под благодатным светом Ричи живут богоподобные программисты на С, null можно и прибавлять, и отнимать, и делать с ним все, что угодно, ведь это просто указатель на 0х0.
Удачи тебе добавить содержимое пустого уккзателя и не словить непредсказанную ошибку.
Пустого указателя - это как? Это неинициализированного? Пустым он быть не может, он - слово. Если я раизменую неинициализированный указатель, чтобы добавить его содержимое куда-то, ничего страшного не может случиться. Либо он ссылается на выделенный программе и действительный адрес и я добавляю куда-то его содержимое, либо нет и я получаю сегфолт. Ничего непредсказуемого, кроме самого неинициализированного указателя. Зачем это делать - другой вопрос.
В любом случае, я даже не говорил о содержимом. В мире С любой указатель - это машинное слово, и ни чем не хуже любого другого машинного слова. Даже null. Конечно, можно специально стрелять себе в ногу, но адекватный человек обычно ожидает, что если он направит пистолет себе в ступню и нажмет спуск, то ничего хорошего не произойдет. А эти ваши "нельзя прибавить/отнять/итд" - это такой большой собачий конус-воротник, напяленный на руку, позволяющий носить пистолеты даже тем, кто не способен на тянуть за спуск, когда ствол направлен ему в ногу. Ну, кроме случаев со всякими языками вроде жабы, там подобное обусловлено в первую очередь абстракцией от железа и делается ради дополнительных ништяков, вроде запуска одного байт-кода на всех моделях кофеварок с разными разрядностями.
Всё было бы хорошо, если бы сишка ни была моим первым "настоящим " языком и чтобы за попытки не резервировать или не заполнять адресс меня компилятор рукоятью пистолета по колену не лупил.
Однако, мой GCC меня ничем никуда не лупит. Нижайше реквестирую коротенький и наглядный код, название компилятора и флаги компиляции, за которые ты огребл(а) по колену. Может узнаю заодно, что такое "заполнять адрес".
Это когда ты не просто создал адресс с именем, но и выделил место с последующим залитием туда переменной. Dev c++ bloodshed. Код я думаю ты и сам настрочмть можешь, раз уж такой премудрый проггер, благо всего-то две строчки.
А какой смыл от математических действий с нулем?
На ноль можно умножить или найти синус, косинус от него.
Синус и косинус ноля это не ноль, а умножение на ноль действие бесполезное, можно просто обнулить
Синус ноля ноль, косинус ноля- единица. Вперёд алгебру и тригонометрию изучать, юнлинг.
Ты ещё спроси какой смысл от:
Boolean x = null;
NEC RO POSTE RTÍJli !
Futter Futter 04.03.201912:00 ответить ссылка 0.0
В таком случае это уже не 0 а 1/∞
Romen Romen 24.03.201713:12 ответить ссылка -0.6
1/∞ это NaN
Zhook Zhook 24.03.201716:16 ответить ссылка 1.1
Переменная с нулем не будет нулом, если только кто то не использует референс тайп для чисел, если, конечно, мы говорим не о php/js и тп.
Я далеко не силен в программировании, но, вроде 0 это тоже состояние переменной, а null - её отсутствие.
kanok kanok 24.03.201710:17 ответить ссылка 15.7
* а null - его отсутствие.
То есть отсутствие значения.
А отсутствие переменной это ошибка.
В генетическом коде разработчика.
AshB AshB 24.03.201711:09 ответить ссылка 13.4
Скажи это джаваскрипту.
hoostas hoostas 24.03.201715:54 ответить ссылка -2.1
Мы тут про программирование разговариваем, а не про скрипты.
А вот и верстальщик подтянулся...
Это очень приземленный стереотип от якобы программистов.

Множество "обычных" значений + null (в его наиболее распространенном понимании) - это sum type. Т.е. хранимое значение может быть из двух или более доменов. В языках без статической типизации (js, python, perl, ruby, etc.) это деление бессмысленно, в них все переменные типа sum(все домены). null это просто единственное значение из null-домена, такое же как и все остальные.

Большинство аналогий ниже/выше по треду некорректны, как и всегда.
e38m4 e38m4 24.03.201722:54 ответить ссылка -0.1
Ладно, вот так:
0 — это пустой пакет из-под пельменей
null — когда у тебя даже пакета нет
Можно даже еще проще:

Берем чистый листочек в клеточку.
Пишем в одной из клеточек 0. Это 0.
В остальных клеточках ничего не пишем. Это всё null.
Это в каком языке так массивы устроены? Аналогию с null нужно обыгрывать или с отсутствием листа или с отсутствием на нём линовки. Клетки с невписанным значением - предмет для шуток аля "Буратино дали три яблока. Два он съел.", но никаких null там нет.
Почему нет? Массив создан, но не инициализирован. Память выделена, но не заполнена. Поскольку у разных ЗУ могут быть по-разному заполнены неиспользуемые области памяти, во избежание неполадок при обращении к неинициализированной памяти кидается ошибка. В некоторых языках память инициализируется автоматически.
enouf enouf 24.03.201714:40 ответить ссылка 0.7
И из этого следует что null будет только если компилятор автоматически инициализирует элементы массива null'ами. В ином случае будут ссылки неизвестно куда.
В любом языке. Разлинованный лист - это память с ее ячейками, ячейка или пустая, или с нулем.
В большинстве случаев один и тот же объект не может быть и нулём и null. В хороших примерах 0 пельменей и нет пакета. 0 бумаги и нет втулки. Если в одной из клеток ноль, то и в других тоже должно быть числа, а не ссылки.
В некоторых языках можно делать смешанные массивы с разными типами переменных, например.
так устроена любая База Данных типа SQL.

На скриншоте: нижняя строка используется для добавления в таблицу новых записей (новой строки, в данном случае шестой по счету), надо тупо заполнить нужные ячейки и нажать Enter.
как видишь, пока поля (ячейки) не заполнены значениями, в них везде изначально стоит NULL.

в SQL даже для boolean ячеек может стоять значение NULL.
Да, и не обязательно у каждой строки должны быть заполнены абсолютно все ячейки, можно оставить в них NULL.
Microsoft SQL Server Management Studio Express

File Edit	View Query Designer	Tools	Window	Community	Help
\ tJ.NewQuery I QI G& | Gá' H £P | ® H ® E£ á* ¿
: tf] JD Sil Change Type -	?	[1=	S -
Object Explorer
Sí Sí
■ T
II
B LJ System Databases El i J Northwind
El □ TU
r~i Database
Мисье знает толк в извращениях. Хранить БД. На генераторе синих экранов. :)
хоспаде.... друг.... ты аматор? Есть разные цели и платформы. Это норма. Ты везде линух будешь пихать? Дава вот не будем. Линух это хорошо но это не панацея.
Срань господня, этому треду уже год, что ты тут забыл?
скорее всего по тэгу программирование прошелся. Он всего на 5-ой странице.
все проще. Пост забаянили. У нас не было выхода...
Да, чето подобное видел на глагнэ.
Лайк? Минус что ли?
Raline Raline 24.03.201711:45 ответить ссылка 12.7
Тяжело быть тобой, как ты так очко натренировал что тебя утраивает такой вариант?
Только не в С
#define NULL 0
JJack JJack 24.03.201711:26 ответить ссылка 1.0
а еще можно сделать #define TRUE FALSE и ловить лулзы. ну пока не отпиздили.
kain_pl kain_pl 24.03.201711:44 ответить ссылка 10.3
1) Можно все что угодно, а #define NULL 0 это часть стандарта
2) #define true false
3) куда веселее #define true ((bool)(rand()%2))
JJack JJack 24.03.201711:47 ответить ссылка 14.3
ВОТ УЖЕ ГДЕ РЕАЛЬНЫЙ ИЗВРАТ.
kain_pl kain_pl 24.03.201712:02 ответить ссылка 12.1
А можно как это на примере туалетной бумаги?
Э не, так математика тут не сработает. Где макет?
Уже должен быть у Игоря
Игорь тонет.
1. на всех держателях появляется пустая втулка
2. бумагу берешь в левую руку, а подтираешься правой
3. можешь подтереться нужной рукой при хорошем гороскопе
Строго говоря, это не совсем так.
NULL имеет тип и попытка написать что-то типа: long int i=NULL выдаст варнинг:
initialization makes integer from pointer without a cast

Но разумеется, в численном значении NULL равен 0.
Hellsy Hellsy 24.03.201714:06 ответить ссылка 0.0
X <Bbi6epuTe cmmbo/i>
<	^ stddef.h
1 ► / **"*—* /_J—
14
15	#if....._MSC_VER > 1000
16	#pragma once
17	#endif
18
19	tifndef _INC_STDDEF
20	#define -_INC_STDDEF
21
22	tFinclude <crtdefs.h>
23
24	#ifdef ■ ■_cplusplus
25	▼ extern "C" {
26	#endif
27
28	/* Define NULL pointer value -*/
JJack JJack 24.03.201714:24 ответить ссылка -0.2
А ты всю конструкцию осиль.

Если определен __cplusplus, то NULL == 0, иначе NULL == ((void *)0)
Hellsy Hellsy 24.03.201714:44 ответить ссылка 2.5
Ключевое слово "если". В моем случае NULL это тупо ноль.
JJack JJack 24.03.201717:39 ответить ссылка -1.1
И вот тут ты обосрался. Первым комментом ты утверждаешь, что в Си NULL=0. Но твой пруф показывает, что в Си NULL=(void *)0, то есть указатель.
muted muted 24.03.201720:53 ответить ссылка 0.3
В современной сишке он "обосрался", но до C89 кажется определяли где как, бардак был тот еще. В крестах кстати возникает непонятка при оверлодах f(int) f(T *), потому и ввели nullptr, а за NULL теперь могут обоссать.
e38m4 e38m4 24.03.201723:00 ответить ссылка 0.2
Сейчас бы в 2к17 писать на С, мммм
3) Ну тоньше нужно. Хотя-бы #define true ((bool)(rand()%100))
Можно заменить команды на комбинации скобочек, пробелов точек и так далее, а потом заняться БДСМ с программисткой.
null это когда даже держателя бумаги нет
lumen lumen 24.03.201711:48 ответить ссылка -0.4
Нет, когда нет держателя бумаги - это уже объект класса выше равен null.
О, я знаю один язык, в котором помимо 0 и null есть еще undefined.
Тогда в нем 0 - это рулон закончился, null - это нет рулона, а undefined - это когда нет самого понятия "рулон".
soclear soclear 24.03.201712:26 ответить ссылка 3.2
Не JS случайно? Там вроде null==undefined, то есть оба держателя пустые, но рулоны в них вставляются по-разному- в один сверху, в другой сбоку.
В js такое работает потому что при таком сравнении используется приведение типов. Сравнение:
null === undefined // false
null == undefined // true
null === null // true
undefined означает, что переменная не объявлена или ей не присвоено никакого значения. null может быть присвоен переменной и означает, что у переменной нет значения.
Всё же большой разницы между ними нет- undefined тоже может быть специально присвоено переменной, а отсутствующее значение в DOM как раз-таки null.
Самая большая разница в типе:
var TestVar1;
typeof TestVar1; //undefined
var TestVar2 = null;
typeof TestVar2; //object
В scala есть Null, Nothing, Unit, Nil и None...
никто не знает как вывести arraylist на проверку null? myArray.equals(null) myArray.size()==0 ?вроде не подходит
spspider spspider 24.03.201712:45 ответить ссылка -0.1
if (myArray == null) {
// делай что хочешь

}
Программистский слёт на отсутствие бумаги, это конечно хорошо, но жопу то подтирать все равно нечем.
zubzer0 zubzer0 24.03.201714:41 ответить ссылка 2.7
а диплом программиста на что еще
nullptr
ifconfig ifconfig 24.03.201717:08 ответить ссылка 1.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Ответь.
Оторви.
1
г
3
4
5
6 7
D~rmnri- Геоман Греф может говорить слово «Agile» 7 раз в секунду,
Стйв°Балмер может выкрики ват ь «Ье ve\opers!» Ираз в секунду.
£тив««нили наладить обмен информацией между собой, передавая 0н^^мСИп побитово: молчание означает е, а слово - 1;
и^Ем2п?ься реш
подробнее»

it профессиональный юмор программирование программист задачки

Ответь. Оторви. 1 г 3 4 5 6 7 D~rmnri- Геоман Греф может говорить слово «Agile» 7 раз в секунду, Стйв°Балмер может выкрики ват ь «Ье ve\opers!» Ираз в секунду. £тив««нили наладить обмен информацией между собой, передавая 0н^^мСИп побитово: молчание означает е, а слово - 1; и^Ем2п?ься реш
gkoberger commented on Mar 18, 2013
Owner © • ••
Okay this is awesome. I'll test it out and merge when I get home. Thanks!
v1993 commented on Dec 17, 2020	© -
Sorry for rushing this a bit, but got home yet?
подробнее»

песочница программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор терпение профессиональный юмор it юмор

gkoberger commented on Mar 18, 2013 Owner © • •• Okay this is awesome. I'll test it out and merge when I get home. Thanks! v1993 commented on Dec 17, 2020 © - Sorry for rushing this a bit, but got home yet?
-	Слушай, ты разработчик. Ответь, почему разработчики всегда неправильно оценивают время на создание программ?
-	Представь что тебе надо разгрузить машину, сколько времени это займет?
-	Пару часов
-	Это камаз
-	8 часов
-	Камаз, груженый песком -12 часов
-	У тебя нет лопаты и инструментов, тол
подробнее»

программирование профессиональный юмор текст на картинке

- Слушай, ты разработчик. Ответь, почему разработчики всегда неправильно оценивают время на создание программ? - Представь что тебе надо разгрузить машину, сколько времени это займет? - Пару часов - Это камаз - 8 часов - Камаз, груженый песком -12 часов - У тебя нет лопаты и инструментов, тол
15 Sorting Algorithms in 6 Minutes,Science & Technology,Algorithms,Sorting Algorithms,Sorting,Visualization and "audibilization" of 15 Sorting Algorithms in 6 Minutes.
Sorts random shuffles of integers, with both speed and the number of items adapted to each algorithm's complexity.
The algorithms
подробнее»

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор видео,video программирование алгоритм сортировка наглядно песочница

15 Sorting Algorithms in 6 Minutes,Science & Technology,Algorithms,Sorting Algorithms,Sorting,Visualization and "audibilization" of 15 Sorting Algorithms in 6 Minutes. Sorts random shuffles of integers, with both speed and the number of items adapted to each algorithm's complexity. The algorithms
boolean isPutCertificateApdu(byte[] apdu, int offset) {
if (apdu == null | I apdu.length != Apdu.APDU_HEADER_SIZE + Apdu.AUTH_CERT_OBJECT_TEMPLATE. length) { return false;
}
if (Util.isEqual(apdu, offset, Apdu.AUTH_CERT_OBJECT_TEMPLATE) \ \
--b---1 fapdu, offset, Apdu. SI
подробнее»

программирование профессиональный юмор языки программирования java песочница

boolean isPutCertificateApdu(byte[] apdu, int offset) { if (apdu == null | I apdu.length != Apdu.APDU_HEADER_SIZE + Apdu.AUTH_CERT_OBJECT_TEMPLATE. length) { return false; } if (Util.isEqual(apdu, offset, Apdu.AUTH_CERT_OBJECT_TEMPLATE) \ \ --b---1 fapdu, offset, Apdu. SI