У смислу како се променљива чува у РАМ-у, која је разлика између "инт? Кс = 0" и "инт? Кс = нулл"?


Одговор 1:

Нулабилни тип ће имати неку врсту додатног поља које указује да ли је вредност важећа. Изгледа да је ваш пример у Ц #. У овом случају, инт? је скраћеница за Систем.Нуллабле <инт>. Систем.Нуллабле <Т> је генерички тип који омота Т са додатним пољем боол, ХасВалуе. То додатно поље боол ће бити смештено у меморији, заједно са складиштем за Т. Додана синтакса у Ц # за типове нуллабилне вредности скрива основне радње које поље користе.

У концептуалном облику, код изгледа овако:

инт? к = 0; // преводи на
к.Валуе = 0;
к.ХасВалуе = тачно;

инт? к = нулл; // превести на
к.ХасВалуе = лажно;

У било којој ситуацији у којој су сви битни обрасци типа вредности валидни, нпр. Цели бројеви, језик ће морати да дода неку врсту додатног поља или показатеља да би показао да ли постоји валидна вредност или да ли се променљива треба третирати као нула. Теоретски, ако је преводилац знао да неки обрасци бита нису валидне вредности, могао би употријебити један од неваљаних узорака да означи нулту вриједност и не користи додатни простор за похрану. У пракси је, међутим, то вероватно немогуће, тако да ћете увек видети додатни део меморије који се користи.

Нуллабле Струцт (систем)


Одговор 2:

Потпуно зависи од начина на који се програмски језик имплементира. Исти језик се може имплементирати на много различитих начина, у зависности од хардвера и одређених преводилаца.

Рекавши да, у многим језицима, променљива идентификује специфичну меморијску локацију где се чувају стварни подаци. ако варијабла има вредност, чак и нулу, локација ће бити постављена. Ако је нула, сама локација ће бити постављена на бесмислену вредност, нулу или на неки други начин.


Одговор 3:

Потпуно зависи од начина на који се програмски језик имплементира. Исти језик се може имплементирати на много различитих начина, у зависности од хардвера и одређених преводилаца.

Рекавши да, у многим језицима, променљива идентификује специфичну меморијску локацију где се чувају стварни подаци. ако варијабла има вредност, чак и нулу, локација ће бити постављена. Ако је нула, сама локација ће бити постављена на бесмислену вредност, нулу или на неки други начин.


Одговор 4:

Потпуно зависи од начина на који се програмски језик имплементира. Исти језик се може имплементирати на много различитих начина, у зависности од хардвера и одређених преводилаца.

Рекавши да, у многим језицима, променљива идентификује специфичну меморијску локацију где се чувају стварни подаци. ако варијабла има вредност, чак и нулу, локација ће бити постављена. Ако је нула, сама локација ће бити постављена на бесмислену вредност, нулу или на неки други начин.


Одговор 5:

Потпуно зависи од начина на који се програмски језик имплементира. Исти језик се може имплементирати на много различитих начина, у зависности од хардвера и одређених преводилаца.

Рекавши да, у многим језицима, променљива идентификује специфичну меморијску локацију где се чувају стварни подаци. ако варијабла има вредност, чак и нулу, локација ће бити постављена. Ако је нула, сама локација ће бити постављена на бесмислену вредност, нулу или на неки други начин.