Forum: Vart pekar pekaren?

Forum huvudsida -> Programmering -> Vart pekar pekaren?

Sidor: 1

Till botten

Gnerf 16:45 - 28:e November 2008 | Post #1
Medlem
Inlägg: 25


Skicka PM
om jag deklarerar en pekare som pekar på 0, d.v.s typ:

int *p;
p = 0;

vart pekare då pekaren?

/Gnarf

-------------------------
Ingen signatur!



kode 17:04 - 28:e November 2008 | Post #2
Medlem
Inlägg: 45


Skicka PM
det blir väl en null-pekare?




InDigo176 19:33 - 28:e November 2008 | Post #3
Medlem
Inlägg: 72


Skicka PM
Ja, det pekar på minnesadressen 0 Smiley

-------------------------
Sebban

Senast redigerad 19:48 - 28:e November 2008


Gnerf 10:16 - 29:e November 2008 | Post #4
Medlem
Inlägg: 25


Skicka PM
Men det ligger inte något specielt på just adressen 0?

för om man skriver följande programm:

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.  
  6. int *p;
  7. p = 0;
  8. *p = 0;
  9.  
  10. return 0;
  11. }


så får kompilatorn krupp och stänger av sig.

Säkert inte så nyttigt att hålla på med pekare sådär, men man kan ju inte hjälpa att man blir lite nyfiken Smiley

-------------------------
Ingen signatur!



InDigo176 15:53 - 29:e November 2008 | Post #5
Medlem
Inlägg: 72


Skicka PM
Kompilatorn borde inte bli sur (det blir iaf inte den jag använder, men den du använder kanske är smart och vägrar kompilera det uppenbara felet), men när du kör programmet så ska du få ett segmenteringsfel (http://en.wikipedia.org/wiki/Segfault). Där står det lite mer om hur det funkar med nollpekare och sånt.

-------------------------
Sebban



Gnerf 13:08 - 30:e November 2008 | Post #6
Medlem
Inlägg: 25


Skicka PM
Jo, den artikeln besvarade min fråga bra, tackSmiley

-------------------------
Ingen signatur!



Sidor: 1

Forum huvudsida -> Programmering -> Vart pekar pekaren?
Atom feed

Du får inte posta i den här tråden | Till toppen