[C] Listen & Pointer

Ticha

Ticha

Linux Missionar
Hi

Was sind die Listen bei C ? Sind das eher arrays oder sind das Hashes? Ich blick da nicht durch ;( ?( ;(

mfg Ticha
 
Hallo Ticha,

Listen in C sind Arrays.

Viele Grüße

Jürgen
 
hmm also das wuerd ich jetzt nicht so sehen also fuer mich ist eine liste eine dynamische datenstruktur und da gibt es einfach verkettete listen, doppelt verkettete listen usw ein array ist eine einfache datenstruktur und keinenfalls eine liste neben der liste gibt es noch andere datenstrukturen wie beume und stacks usw aber ein array ist keinenfalls eine liste!!!!

mfg hazelnoot
 
Hallo hazelnoot,

die Frage habe ich so verstanden, dass die Art und Weise wie C/C++ Listen im Speicher ablegt, nicht bekannt ist. Das sind Arrays. Jedes Listen-Element - egal, ob einfach verkettet oder doppelt verkettet - wird in einem Array im Speicher abgelegt. Mit etwas Pointer-Arithmetik kannst Du auf die einzelnen Elemente zugreifen.

Viele Grüße

Jürgen
 
Zu listen zaehlen wie bereits gesagt Arrays, (Array-)Strukturen, Dynamische/Verkettete Strukturen, (Algorithmus koennte man auch zu zaehlen(groestenteils arbeitet man auch hier mit Dynamischen Strukturen)).
 
Algorithmus koennte man auch zu zaehlen

versteh ich das jetzt richtig du meinst array <=> Liste <=> Algorithmus ??

Ein Algorithmus ist fuer mich eine Abfolge von Handlungen z.b. ein Backrezept ö.ä. man kann auch Handlunsvorschrift sagen. In einem Algorithmus kann man Listen verwenden aber meiner meinung gilt nicht Algorithmus <=> Liste.

Gruss tavgm
 
meiner meinung nach ist ein array ein feld und eine liste ist eine dynamische ansammlung von elementen und ein array ist eigentlich statisch. mann muss nur auf wikipedia schaun. wikipedia trennt array und liste ebenfalls!(http://de.wikipedia.org/wiki/Datenstruktur#Array_.28Feld.29)

ihr koennt mich gern berichtigen aber soweit ich das sehe ist ein array auf keinen fall eine liste.

mfg hazelnoot
 
Liste und array sind nicht das gleiche, das ist richtig.

Komplexere Datenstrukturen wie Listen sind aber intern über arrays implementiert.

Und ein Algorithmus hat nichts, aber auch gar nichts, mit irgendwelchen Datenstrukturen zu tun.
 
Hi

Was sind die Listen bei C ? Sind das eher arrays oder sind das Hashes? Ich blick da nicht durch ;( ?( ;(

mfg Ticha

Also ich würde dir etwas anderes Antworten:
Listen sind Listen
Arrays sind Arrays
und Hashes sind Hashes
:)

Erstmal ganz unabhängig von einer Programmiersprache !

Erzeugst du mit C etwas wie
char name[10];
Dann ist "name" ein Array aus 10 "char"s.

Listen und Hashes sind anspruchsvollere Dinge, die du entweder aus einer Systembibliothek holst oder oder z.b. aus der STL (C++). Natürlich kannst du dir die auch selber programmieren.

Grüße,
h2o
 
Zuletzt bearbeitet:
versteh ich das jetzt richtig du meinst array <=> Liste <=> Algorithmus ??

Ein Algorithmus ist fuer mich eine Abfolge von Handlungen z.b. ein Backrezept ö.ä. man kann auch Handlunsvorschrift sagen. In einem Algorithmus kann man Listen verwenden aber meiner meinung gilt nicht Algorithmus <=> Liste.

Gruss tavgm
Ich sagte auch nicht das ein Algorithmus genau zu zaehlt, aber letztendlich
arbeitet man acuh hier meistens mit Datenstrukturen.
 
Komplexere Datenstrukturen wie Listen sind aber intern über arrays implementiert.

das ist auch nicht ganz richtig man kann eine liste ueber einen array implementieren aber ueblich iste so dass man eine liste so implementiert(jetzt in C) dass man als element eine struktur benutzt jetzt zb:

Code:
struct Node{
    int wert;
    struct Node *next;
};

und dann verweist das next auf den naechsten node und daher benutzt man da keinen array! daher kann man das nicht verallgemeinern!!!!!!! also man kann schon eine liste als array implementieren das waere aber dann eine arraylist und eine normale einfach verkttete (usw...) liste nimmt keinen array her...

mfg
hazelnoot
 
Ich gebe sowohl hazelnoot als auch supersucker recht. Es ist dem Programmierer ueberlassen, ob er eine Liste als Array, oder als LinkedList implementiert.
 

Ähnliche Themen

C Programm Klausur Noten Spiegel einlesen und Farb Balkendiagramm sim draw ausgeben

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Festplatte auf SD Karte umziehen

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

CentOS 6.4 - Kenel ohne PAE etc. erstellen

Zurück
Oben