![]() |
DEUTSCHE VERSION |
|
![]() |
Links | | | Forums | | | Comments | | | Report news |
![]() |
Chat | | | Polls | | | Newsticker | | | Archive |
![]() |
amiga-news.de Forum > Programmierung > Warum ist das keine Rekursion? | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2005-06-21, 09:51 h DrNOP Posts: 4118 User |
Hallo zusammen, ich mal wieder - als Programmierer verkleidet. ![]() Ich habe in meinem hiesigen lstLib.h folgende Definition gefunden: code:typedef struct node /* Node of a linked list. */ { struct node *next; /* Points at the next node in the list */ struct node *previous; /* Points at the previous node in the list */ } NODE; Naja ... es scheint zu funktionieren, sonst hätten sie's sicher nicht so gemacht - aber warum ist das keine Rekursion? Ich meine, die definieren eine Struktur "node", die innerhalb der Struktur "node" benutzt wird!? ![]() -- Es gibt keine Notbremse für all den technischen Humbug, mit dem wir unsere Zeit vertrödeln. [ - Answer - Quote - Direct link - ] |
2005-06-21, 10:17 h thomas Posts: 7721 User |
@DrNOP: Weil das keine ganze "struct node" ist, sondern nur ein Zeiger auf eine "struct node" (beachte den Stern !). Der Speicher für einen Zeiger ist immer gleich groß, den kann er definieren, ohne die Struktur selbst zu kennen. Sowas wäre eine Rekursion, die nicht funktioniert: code:struct node { struct node node1; struct node node2; char name[20]; }; Hier wird eine struct node innerhalb der anderen struct node definiert, das geht nicht. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2005-06-21, 10:18 h fisch08 Posts: 692 User |
[ Dieser Beitrag wurde von fisch08 am 21.06.2005 um 10:19 Uhr editiert. ] [ - Answer - Quote - Direct link - ] |
2005-06-21, 11:01 h TerAtoM Posts: 1230 User |
Wenn es kein Zeiger wäre würde die verschachtelung unendlich gross sein... und ich mag bezweifeln das Dein Rechner einen "unedlichkeitsspeicher" hat ![]() CU TerA -- TerAtoM (A4K 604e/233MHz 060/50MHz 146MB CV64_3D+SD) Band: http://www.TERATOM.de Privat: http://www.TerAmigA.de.vu Profession: http://www.Xavo.de ICQ: 18056588 [ - Answer - Quote - Direct link - ] |
2005-06-21, 11:21 h DrNOP Posts: 4118 User |
Zitat:D.h., die Zeiger könnten statt als Typ "node" auch als "INT32" oder sowas definiert sein, richtig? -- Es gibt keine Notbremse für all den technischen Humbug, mit dem wir unsere Zeit vertrödeln. [ - Answer - Quote - Direct link - ] |
2005-06-21, 11:31 h Holger Posts: 8116 User |
Zitat:Ts, ts, sowas macht man doch nicht. ![]() Ein Zeiger kann auch 16Bit oder 64 Bit sein. Der Compiler soll das machen, damit Du nicht darüber nachdenken muß. Aber prinzipiell hast es jetzt richtig erkannt. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2005-06-21, 16:16 h DrNOP Posts: 4118 User |
Zitat:Neee, bei uns macht man extra sowas, weil wir uns auf einem Embedded System mit 68020 bewegen. Und damit man sicher weiß was das jeweilige Ding ist, wird eigentlich alles als INT16, INT32 und so definiert. Frag mich nicht, die Software besteht seit wenigstens 10 Jahren - nur ich bin neu hier ... Zitat:Danke - wenigstens was! ![]() -- Es gibt keine Notbremse für all den technischen Humbug, mit dem wir unsere Zeit vertrödeln. [ - Answer - Quote - Direct link - ] |
2005-06-22, 13:57 h Mad_Dog Posts: 1944 User |
Zitat: Das ist zwar keine Rekursion, aber die Definition einer so genannten "rekursiven Struktur". In diesem Fall sieht das aus, wie eine doppelt verkettete Liste. D.h. jeder Knoten hat einen Zeiger auf seinen Vorgänger und Nachfolger. -- http://www.norman-interactive.com [ Dieser Beitrag wurde von Mad_Dog am 22.06.2005 um 13:57 Uhr editiert. ] [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Warum ist das keine Rekursion? | [ - Search - New posts - Register - Login - ] |
![]() |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved. |
![]() |