Hver er munurinn á núlli og núlli í forritun?


svara 1:

NUL er ASCII stafur sem ASCII gildi er 0, þar sem NULL er fjölvi skilgreindur í stddef.h og nokkrar aðrar hausskrár með gildið ((ógilt *) 0). Af þessum sökum er NULL einnig vísað til sem NULL bendill.

Báðir eru notaðir til skiptis (vegna þess að 0 er einnig kallaður NULL bendill, sem er NULL stafur með ASCII gildi) án þess að forritarinn viti þetta rétt, þar sem þeir virðast báðir vera eins, en ekki raunveruleikinn.

C-strengi slitið með stafnum NUL ('\ 0'), þar sem við frumstæðum bendilbreytunni NULL þegar við lýsum yfir því. Þar sem C styður óbeina tegund viðskipti, sjáum við engin áhrif ef við notum hvort tveggja til skiptis. Hins vegar er mælt með því að nota bæði á réttum stað.

Þetta er léleg forritun

meðan (str [i]! = NULL) // óbeint breytt í 0, sem er ASCII gildi NUL. Rétt aðferð til að skrifa um tjáninguna á meðan (str [i]! = '\ 0') // skipta út fyrir ASCII gildi 0 int * ptr = '\ 0'; komi í stað ASCII gildi 0 sem felur í sér óbeina netfangið 0. Rétt stafsetning yfir tjáningunni int * ptr = NULL; // komi með heimilisfang 0

svara 2:

Þegar þú talar um venjulega forritun þá er ekkert slíkt hugtak sem heitir NUL!

Í grundvallaratriðum, þegar um C forritun er að ræða, er hægt að nota NULL á eftirfarandi hátt:

Null þjóðhagsleg núll bendi null strengur (\ 0) núll stöðugur 

Til dæmis;

Ef bæti er stillt á núll er þetta kallað núll stafur. Það er notað í grunnútgáfunni til að slíta skilgreindum streng.

Hins vegar er NUL notendaskilgreind breytu!

  • Þetta er nafn fyrstu ASCII skrárinnar sem samsvarar núllgildi. Þú getur lýst því yfir á eftirfarandi hátt:
# skilgreina NUL '\ 0'

En forritarar hafa ekki kosið um það. Vona að ég hafi svarað spurningu þinni!

Góða skemmtun!