Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Länge eines Feldes feststellen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
12.05.2003, 11:09 Uhr
aiken



ich schließ mich da DeadBeef an: wenn wir schon von C++ reden, sollte man auch die dort vorhandenen Möglichkeiten nuzten. Die STL Container sind sehr flexibel und leicht zu benutzen.

In reinem C Code hab ich bisher für solche sachen eigentlich immer Konstanten gesehen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
12.05.2003, 14:11 Uhr
~gast
Gast


oder du nimmst einfach die Funktion _msize()
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
12.05.2003, 14:24 Uhr
virtual
Sexiest Bit alive
(Operator)


Die ist aber hochgradig unportabel.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
12.05.2003, 14:26 Uhr
~0xdeadbeef
Gast


Schlechte Idee. _msize ist in keinem Standard verzeichnet und mehr zufällig in der Implementation der Windows-libc vorhanden, und sogar Microsoft meint, man sollte die Funktion nicht benutzen, weil sie möglicherweise in späteren Implementationen nicht mehr vorhanden ist oder sich anders verhält.

Generell ist es eine blöde Idee, Funktionen, die mit _ anfangen, zu benutzen, weil sie in aller Regel nicht Teil des eigentlichen Interfaces sind.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
12.05.2003, 18:28 Uhr
MeisterB



Nagut dann finde ich mich eben damit ab, dass ich die Feldgröße mit übergeben muss (obwohl es mit _msize(pfeld)/4+1 möglich ist die exakte Größe zu ermitteln).

Wie kann ich eigentlich das Feld erweitern ohne es erst in einem Anderen zu sichern, es neu (vergrößert) zu erstellen und die gesicherten Werte wieder zurück zu geben? (Das ist zwar nicht unbedingt schwierig aber gibt es da einen "Vergrößerungbefehl"?)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
12.05.2003, 19:02 Uhr
aiken



Ein C -Array ist ein zusammenhängender Speicherbereich, in dem die Daten hintereinander weg abgespeichert sind. Wie willst Du das erweitern? Der darauffolgende Bereich kann ja von der Speicherverwaltung bereits für andere Zwecke vergeben sein. Wenn Du Angst um die Performance hast, solltest Du eventuell darüber nachdenken, das ganze als verlinkte Liste abzulegen. Dann ist das Ein/Anfügen billig, dafür das Traversieren etwas teuerer. Kommt also auf Deinen Anwendungsfall an.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
12.05.2003, 19:30 Uhr
virtual
Sexiest Bit alive
(Operator)


Du kannst C-Arrays mit realloc in ihrer Größe beliebig verändern. Dann mußt du sie allerdings mit malloc anlegen und nicht mite new[]. Insges. solltest Du dir wirklich überlegen, std::vector zu verwenden.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
12.05.2003, 19:39 Uhr
aiken



da ist mein C Wissen wirklich zu angestaubt.. realloc() hatte ich ganz vergessen.. realloc() tut unter Umständen aber den Speicherbereich kopieren, also sollte man aufpassen, daß man nicht noch irgendwelche Zeiger hat, die auf den alten Speicher zeigen..
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
12.05.2003, 19:43 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


näheres zu realloc siehe z.b. hier:
www.fun-soft.de/index.php?file=/forum/showtopic.php?threadid=2093&time=1052761338
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
19.05.2003, 17:20 Uhr
MeisterB



Ich hab mal probiert mich mit hilfe meines Wochenendcrashkurs-Buches über verkettete Listen schlau zumachen. Leider hab ich wieder gemerkt, das diese Buch keine große Hilfe ist da das zeug einfach zu hochtragend erklärt wird. Kann mal bitte jemand einen ganz simplen Quelltext zu verketteten Listen posten?(Erstellen, Erweitern, Verkleinern) Währe nett wenn die wichtigsten Codezeilen mit ner Erklärung sind!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: