WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   a-typische verarbeitung von anwendersoftware? (http://www.wcm.at/forum/showthread.php?t=155719)

Who-T 19.01.2005 04:16

Zitat:

Original geschrieben von James020
Ich verstehe es immer noch nicht, denn wenn ich eine Variable habe, dann kann ich die auch direkt ansprechen, sollte dies nicht gehen, dann existiert sie nicht, oder ich habe eventuell nicht die Rechte dazu - wobei ich mir nicht vorstellen kann, dass mir da ein Pointer helfen wird.
\

- pointer sind notwendig wenn du call by reference machen willst
- pointer sind notwendig wenn du direkt auf hardware zugreifen willst (zb MSP430)

zwei argumente die mir jetzt mal spontan eingefallen sind.

ausserdem - wenn pointer so sinnlos sind wieso arbeiten dann so viele auch neue sprachen damit? python zb verwendet nur pointer. und java eben auch wie bereits erwaehnt.

jak 19.01.2005 08:44

Zitat:

Original geschrieben von Who-T
ausserdem - wenn pointer so sinnlos sind wieso arbeiten dann so viele auch neue sprachen damit? python zb verwendet nur pointer. und java eben auch wie bereits erwaehnt.
Allerdings kann man in Java nicht direkt mit der Pointeradresse arbeiten (k.A. wie's in Python ist).

James020 19.01.2005 15:03

Zitat:

Original geschrieben von Who-T
- pointer sind notwendig wenn du call by reference machen willst
- pointer sind notwendig wenn du direkt auf hardware zugreifen willst (zb MSP430)

Erstes sagt mir nix und zweites verstehe ich nicht: Kann ich denn nicht direkt über den Adressbaum zugreifen?

Schon klar, dass es mit Pointern in vielen Dingen leichter geht, doch als unverzichtbar kann ich sie mir nicht vorstellen, denn ich mit einem Pointer Informationen von einer beliebigen Adresse lesen kann, kann ich mir nicht vorstellen, dass ich nicht auch ohne Pointer von der besagten Stelle lesen kann.

Was die dateien betrifft: Warum mit einem Pointer durchforsten, wenn ich doch gleich ganze Happen in den RAM schmeißen kann - erscheint mir besser.
Zitat:

Original geschrieben von jak
2.) Situation in linearen Listen:
Du kennst das erste Element.
Jedes Element kennt seinen Nachfolger.
Wie greifst du auf das 3., 5., n-te Element zu?
Lösung Du erstellst einen neuen Pointer und setzt ihn auf das erste Element, von dort auf das nächste usw.[/b]
Hört sich für mich nach einem Array an . . .

Wie schon gesagt, ich bin kein Programierer, ich weiß nur wie es geht (theoretisch), doch bei all dem was ich programierte (vor einiger Zeit in QBasic), kam mir kein Fall unter, in dem ich eine Stelle von 2 Seiten her adressieren müsste.

jak 19.01.2005 16:15

Eine lineare Liste ist ähnlich wie ein Array. Der Unterschied ist
1. daß man keine Größenbeschränkung hat (vgl. Vector)
2. Daß die Dinge nicht notwendigerweise einen Index haben müssen.
3. Ein Array steht "in einer Reihe" im Speicher. wenn ich also ein int[] habe, weiß ich, daß int[10] an der Stelle steht, die ich erreiche, wenn ich zur Adresse des ersten Elements int[0] 10* die Größe eines int addiere. Eine Liste nicht.
4. Es ist einfacher aus einer Liste zu löschen bzw. Elemente irgendwo einzufügen. In einer Liste setze ich zwei Pointer, ein Array muß ich komplett umkopieren.

... und sicher noch in paar andere Dinge

Etwas was du überhaupt nicht mehr mit Arrays lösen kannst sind Bäume.

Jak

James020 19.01.2005 17:11

Zitat:

Original geschrieben von jak
Etwas was du überhaupt nicht mehr mit Arrays lösen kannst sind Bäume.

Jak

Ähm bitte um Aufklärung:
Ich kenne 2 Arten von Bäumen - den Verzeichnisbaum und den mit Blätter . . .

jak 19.01.2005 19:21

beide wirst du kaum in ein Array packen können ;).
Ein Baum ist ein Ding das Äste (Node - Knoten) und Blätter hat(Leaf).
An jedem Node können entweder andere Nodes oder Leaves hängen.

Speziallfall z.B. binary tree (jeder Node hat zwei "Kinder").

Definition z.B.:
http://www.nist.gov/dads/HTML/tree.html

Jak

Harika 19.01.2005 19:33

Zitat:

Original geschrieben von jak
beide wirst du kaum in ein Array packen können ;).
Ein Baum ist ein Ding das Äste (Node - Knoten) und Blätter hat(Leaf).
An jedem Node können entweder andere Nodes oder Leaves hängen.

Speziallfall z.B. binary tree (jeder Node hat zwei "Kinder").

Definition z.B.:
http://www.nist.gov/dads/HTML/tree.html

Jak

Speziallfall z.B. binary tree (jeder Node hat maximalzwei "Kinder")

http://de.wikipedia.org/wiki/Binärbaum

jak 19.01.2005 19:35

Ja, ich hab' zu sehr in der Implementierung gedacht (da hat man immer zwei Pointer, die dann halt "null" sind).

Jak

James020 19.01.2005 20:42

Zitat:

Original geschrieben von Harika
Speziallfall z.B. binary tree (jeder Node hat maximalzwei "Kinder")

http://de.wikipedia.org/wiki/Binärbaum

Okay, danke für die Info, aber lassen wir das, fürs erste sollte ich mal bei meinen In-/Ausgaben und Schleifen bleiben ;)
Ist besser so . . . (für mich zumindest :D)


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag