У чым розніца паміж нулем і нулем у праграмаванні?


адказ 1:

NUL - сімвал ASCII, значэнне якога ASCII роўна 0, дзе NULL - макрас, вызначаны ў stddef.h і шэрагу іншых файлаў загалоўкаў са значэннем ((void *) 0). Па гэтай прычыне NULL таксама называюць паказальнікам NULL.

Абодва выкарыстоўваюцца ўзаемазаменна (таму што 0 таксама называюць паказальнікам NULL, які з'яўляецца сімвалам NULL са значэннем ASCII), але праграміст не ведае пра гэта правільна, бо яны абодва супадаюць, але не рэальнасць.

Радок C заканчваецца знакам NUL ('\ 0'), дзе мы ініцыялізуем зменную паказальнік NULL, калі мы яе аб'яўляем. Паколькі C падтрымлівае няяўнае пераўтварэнне тыпу, мы не бачым эфекту, калі выкарыстоўваем абодва ўзаемазаменныя. Аднак рэкамендуецца выкарыстоўваць абодва ў патрэбным месцы.

Гэта дрэннае праграмаванне праграмавання

while (str [i]! = NULL) // няяўна пераўтворыцца ў 0, што з'яўляецца ASCII значэннем NUL. Правільны спосаб напісаць пра выраз while (str [i]! = '\ 0') // замяніць яго значэннем ASCII 0 int * ptr = '\ 0'; // замяніць яго значэннем ASCII 0, якое мае на ўвазе няяўны адрас 0. Правільнае напісанне выраза int * ptr = NULL; // замяніць адрасам 0

адказ 2:

Калі вы кажаце пра стандартнае праграмаванне, няма такога тэрміна, які называецца NUL!

У прынцыпе, у выпадку праграмавання на C, NULL можна выкарыстоўваць наступнымі спосабамі:

Нулявы макрас нулявы паказальнік нулявы радок (\ 0) нулявая пастаянная 

Напрыклад;

Калі байт усталяваны ў нуль, гэта называецца нулявым знакам. У асноўнай версіі выкарыстоўваецца для заканчэння пэўнай радкі.

Аднак NUL - гэта карыстацкая зменная!

  • Гэта назва першай запісу ASCII, якая адпавядае нулявому значэнню. Вы можаце заявіць пра гэта наступным чынам:
#define NUL '\ 0'

Але праграмістам гэта не падабаецца. Спадзяюся, я адказаў на ваша пытанне!

Атрымлівайце задавальненне ад кадавання!