Ինչպես ստուգել զրոյական C- ում ՝ 7 քայլ (նկարներով)

Բովանդակություն:

Ինչպես ստուգել զրոյական C- ում ՝ 7 քայլ (նկարներով)
Ինչպես ստուգել զրոյական C- ում ՝ 7 քայլ (նկարներով)

Video: Ինչպես ստուգել զրոյական C- ում ՝ 7 քայլ (նկարներով)

Video: Ինչպես ստուգել զրոյական C- ում ՝ 7 քայլ (նկարներով)
Video: ԻՆՉՊԵՍ ԱՇԽԱՏՈՒՄ Է !!! Ֆոտո տպագրություն տիկնիկների տանը 2024, Մայիս
Anonim

C- ում NULL- ը խորհրդանշական հաստատուն է, որը միշտ մատնանշում է հիշողության մեջ գոյություն չունեցող կետ: Չնայած այն բանին, որ շատ ծրագրավորողներ այն համարում են 0 -ի հավասար, սա պարզեցում է, որը կարող է հետագայում ձեզ գայթակղել: Ավելի լավ է ուղղակիորեն ստուգեք ձեր ցուցիչները NULL- ի դեմ և 0 -ն օգտագործեք այլ համատեքստերում: Սա ձեր կոդը պահում է մաքուր և հեշտ հասկանալի, քանի որ դուք կիմանաք, որ ցուցիչներով եք աշխատում ամեն անգամ, երբ տեսնում եք NULL:

Քայլեր

2 -րդ մաս 1 -ից. Չեղյալ ստուգում կատարել

Ստուգեք Null- ը C Քայլ 1 -ում
Ստուգեք Null- ը C Քայլ 1 -ում

Քայլ 1. Օգտագործեք ստանդարտ անվավեր ստուգման ծածկագիրը:

Ստորև բերված է անվավեր չեկ գրելու ամենաակնառու եղանակը: Մենք կօգտագործենք ptr այս հոդվածում որպես ցուցիչի անուն, որը դուք ստուգում եք:

  • եթե (ptr == NULL)

    {

    // կոդը, եթե ցուցիչը NULL է

    } ուրիշ {

    // կոդը, եթե ոչ NULL

    }

Ստուգեք Null- ը C Քայլ 2 -ում
Ստուգեք Null- ը C Քայլ 2 -ում

Քայլ 2. Փորձեք ցանկացած արժեքի համար, բացի NULL- ից:

Երբեմն ավելի հարմար է դրա փոխարեն ստուգել անհավասարությունը: Այստեղ անակնկալներ չկան.

  • եթե (ptr! = NULL) {

    // կոդը, եթե ոչ NULL

    }

Ստուգեք Null- ը C Քայլ 3 -ում
Ստուգեք Null- ը C Քայլ 3 -ում

Քայլ 3. Սխալներից խուսափելու համար նախ գրեք NULL- ը (ըստ ցանկության):

PTR == NULL մեթոդի հիմնական թերությունն այն հնարավորությունն է, որ դուք փոխարենը պատահաբար մուտքագրեք ptr = NULL ՝ այդ ցուցիչին վերագրելով NULL արժեքը: Սա կարող է մեծ գլխացավ առաջացնել: Քանի որ (ոչ) հավասարության փորձարկումը սիմետրիկորեն վերաբերվում է օպերանդներին, դուք կարող եք ստանալ նույն արդյունքը ՝ գրելով եթե (NULL == ptr) փոխարենը. Սա ավելի շատ տառասխալների դիմացկուն է, քանի որ պատահական NULL = ptr- ը ստեղծում է պարզ կազմման սխալ:

Սա որոշ ծրագրավորողների համար մի փոքր անհարմար է թվում, բայց դա լիովին վավեր է: Թե որ մոտեցումն եք օգտագործում, ուղղակի կախված է անձնական նախասիրություններից, և որքանով է ձեր կոմպիլյատորը հայտնաբերում if (ptr = NULL) սխալը:

Ստուգեք Null- ը C Քայլ 4 -ում
Ստուգեք Null- ը C Քայլ 4 -ում

Քայլ 4. Ստուգեք, արդյոք փոփոխականը ճիշտ է:

Մի պարզ եթե (ptr) ստուգում է, թե արդյոք ptr- ը UEԻՇՏ է: Այն կվերադառնա ԿԵSE, եթե ptr- ը NULL է, կամ եթե ptr- ն է 0. Տարբերությունը շատ դեպքերում նշանակություն չունի, բայց տեղյակ եղեք, որ դրանք բոլոր ճարտարապետություններում նույնական չեն:

Սրա հակառակն է եթե (! ptr), որը կվերադառնա UEԻՇՏ, եթե ptr- ը ԿԵSE Է:

2 -րդ մաս 2 -ից. Սխալներից խուսափելը

Ստուգեք Null- ը C Քայլ 5 -ում
Ստուգեք Null- ը C Քայլ 5 -ում

Քայլ 1. Նախքան NULL- ի ստուգումը ցուցիչ դնել:

Սովորական սխալներից մեկն այն է, որ ենթադրենք, որ նորաստեղծ ցուցիչը ունի NULL արժեք: Սա ճիշտ չէ. Չնշանակված ցուցիչը դեռ մատնանշում է հիշողության հասցեն, այլ ոչ թե այն, որը դուք նշել եք: Սովորական պրակտիկա է `նորաստեղծ կամ նոր ազատված ցուցիչները դնել NULL- ի վրա` համոզվելու համար, որ դուք պատահաբար չեք օգտագործում այս անօգուտ հասցեն:

  • Խուսափեք այս սխալից.

    char *ptr;

    եթե (ptr == NULL)

    {

    // Սա կվերադառնա FALSE: Theուցանիշին տրվել է վավեր արժեք:

    }

  • Փոխարենը գրեք.

    char *ptr = NULL; // Սա ցուցիչը վերագրում է NULL- ին

    եթե (ptr == NULL)

    {

    // Սա կվերադառնա TRUE, եթե ցուցիչը չի վերանշանակվել:

    }

Ստուգեք Null- ը C Քայլ 6 -ում
Ստուգեք Null- ը C Քայլ 6 -ում

Քայլ 2. Ուշադրություն դարձրեք այն գործառույթներին, որոնք կարող են վերադարձնել NULL- ը:

Եթե գործառույթը կարող է վերադարձնել NULL- ը, մտածեք, թե արդյոք դա հնարավոր է, և արդյոք դա հետագայում խնդիրներ կառաջացնի ձեր ծածկագրում: Ահա malloc ֆունկցիայի օրինակ `օգտագործելով զրոյական ստուգումը (եթե (ptr)) ապահովելու համար, որ այն վարում է միայն վավեր արժեքներով ցուցիչներ.

  • int * ptr = malloc (N * sizeof (int));

    եթե (ptr) {

    int i;

    համար (i = 0; i <N; ++ i)

    ptr = i;

    }

Ստուգեք Null- ը C Քայլ 7 -ում
Ստուգեք Null- ը C Քայլ 7 -ում

Քայլ 3. Հասկացեք, որ NULL- ը 0 է, բայց հստակության համար ցուցիչներով աշխատելիս միշտ պետք է օգտագործել NULL- ը 0 -ի փոխարեն:

Պատմականորեն C- ն NULL- ը ներկայացնում էր որպես 0 թիվ (այսինքն ՝ 0x00): Մեր օրերում այն կարող է մի փոքր ավելի բարդ լինել և տարբերվում է ըստ օպերացիոն համակարգի: Սովորաբար կարող եք ստուգել NULL- ի օգտագործումը ptr == 0, բայց կան անկյունային դեպքեր, երբ դա կարող է խնդիր առաջացնել: Թերևս ավելի կարևոր է, որ NULL- ի օգտագործումը ակնհայտ է դարձնում, որ դուք աշխատում եք ձեր ծածկագիրը կարդացող այլ մարդկանց ցուցիչների հետ:

Խորհուրդներ

Դուք կարող եք օգտագործել այս գրանցումը loops- ի նման, ինչպես ցանկացած այլ: իսկ (NULL == ptr) {

Խորհուրդ ենք տալիս: