Kezdőoldal » Számítástechnika » Programozás » Mi is pontosan a nullpointer...

Mi is pontosan a nullpointer vizsgálat és hogyan kell leírni a programban?

Figyelt kérdés

Sziasztok!

Adott egy programkód:

#include <stdio.h>

#include <stdlib.h>


int stringlen(char *string){


if(!string)

return 0;


int szamlalo;

for(szamlalo=0; *string; string++, szamlalo++)

;

return szamlalo;

}

int main(int argc, char *argv[]){

if(argc!=2)

return 0;


printf("A megadott string hossza:%d karakter", stringlen(argv[1]));

return 1;


Amire a tanár azt is mondja, hogy jó, azonban mindig belekérdez a nullpointer vizsgálatba és mindig azon hasalok el. Kérdés az, hogy miért így kell leírni a programban a nullpointer vizsgálatot ahogyan van. Esetleg az is megfelel, ha oldalakat küldtök, ahol jól le van írva a nullpointerről minden.

Előre is köszi!



#programozás #nullpointer
2015. jan. 11. 12:38
 1/1 anonim ***** válasza:

Mert az adott fordítótól függ, hogy milyen értéket tekint nullpointernek.


if(!string) csak annyit vizsgál meg, hogy a string 0-ra mutató pointer-e


helyesen így lenne:

if(*string == '\0')

Ez pedig azt vizsgálja, hogy a string pointer által mutatott 0-ik elem 0 értékű-e, azaz C stílusú karaktertömb záró karakter értékű-e.

a '\0' és a 0 az esetek többségében azonos érték, de ez is fordító függő.

2015. jan. 11. 13:29
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!