<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dynamische Speicherverwaltung über Strukturen]]></title><description><![CDATA[<p>Hi</p>
<p>Ich habe da ein Problem bezüglich der Dynamischen Speicherverwaltung.</p>
<p>Wie stelle ich die Reservierung des Speichers bei 2 Dimensionalen Arrays mittels Strukturen an.</p>
<p>bzw. <strong>wie müsste ich das hier in meinem Programm umschreiben</strong>, ich hab mal was versucht aber ich bekomme ne Errormeldung raus.<br />
(&quot;`FloatNumbers' in something not a structure or union &quot;)</p>
<p>sonst funktioniert das Programm abgesehen von der Speicherverwaltung.</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

enum
{ 
    MAX=1000,
    Generiere=0,
    LeseSortiere=1
};

struct SortiereFloatZahlen
{
    double FloatNumbers[MAX];
    long Lenge;   
};

struct SortiereFloatZahlen Floats[MAX];

long dynamische_speicher(struct SortiereFloatZahlen Floats[]);
double GenerateFloat();
long ReadFile(struct SortiereFloatZahlen Floats[]);
long Sortiere (struct SortiereFloatZahlen Floats[],long y);

int main(int argc, char *argv[])
{ 
    long y=0;

    dynamische_speicher(Floats);

    if (LeseSortiere==0)GenerateFloat;
    if (LeseSortiere==1)y=ReadFile(Floats);

    Sortiere(Floats,y);

  system(&quot;PAUSE&quot;);	
  return 0;
}

long dynamische_speicher(struct SortiereFloatZahlen Floats[]){--&gt; FUNKTIONIERT NICHT

    Floats *new;
    if (new = (Floats*) malloc( MAX*sizeof(Floats)))==0);
    {
        printf(&quot;Allozieren fehlgeschlagen&quot;);

    }

}

double GenerateFloat()
{
    ...
}

long ReadFile(struct SortiereFloatZahlen Floats[])
{
    ....    
}
long Sortiere (struct SortiereFloatZahlen Floats[],long y)
{
   ....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/253580/dynamische-speicherverwaltung-über-strukturen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 14:25:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253580.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Nov 2009 11:46:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 12:02:21 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Ich habe da ein Problem bezüglich der Dynamischen Speicherverwaltung.</p>
<p>Wie stelle ich die Reservierung des Speichers bei 2 Dimensionalen Arrays mittels Strukturen an.</p>
<p>bzw. <strong>wie müsste ich das hier in meinem Programm umschreiben</strong>, ich hab mal was versucht aber ich bekomme ne Errormeldung raus.<br />
(&quot;`FloatNumbers' in something not a structure or union &quot;)</p>
<p>sonst funktioniert das Programm abgesehen von der Speicherverwaltung.</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

enum
{ 
    MAX=1000,
    Generiere=0,
    LeseSortiere=1
};

struct SortiereFloatZahlen
{
    double FloatNumbers[MAX];
    long Lenge;   
};

struct SortiereFloatZahlen Floats[MAX];

long dynamische_speicher(struct SortiereFloatZahlen Floats[]);
double GenerateFloat();
long ReadFile(struct SortiereFloatZahlen Floats[]);
long Sortiere (struct SortiereFloatZahlen Floats[],long y);

int main(int argc, char *argv[])
{ 
    long y=0;

    dynamische_speicher(Floats);

    if (LeseSortiere==0)GenerateFloat;
    if (LeseSortiere==1)y=ReadFile(Floats);

    Sortiere(Floats,y);

  system(&quot;PAUSE&quot;);	
  return 0;
}

long dynamische_speicher(struct SortiereFloatZahlen Floats[]){--&gt; FUNKTIONIERT NICHT

    Floats *new;
    if (new = (Floats*) malloc( MAX*sizeof(Floats)))==0);
    {
        printf(&quot;Allozieren fehlgeschlagen&quot;);

    }

}

double GenerateFloat()
{
    ...
}

long ReadFile(struct SortiereFloatZahlen Floats[])
{
    ....    
}
long Sortiere (struct SortiereFloatZahlen Floats[],long y)
{
   ....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1803113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803113</guid><dc:creator><![CDATA[goekhan]]></dc:creator><pubDate>Wed, 04 Nov 2009 12:02:21 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 11:56:26 GMT]]></title><description><![CDATA[<p>Da kann doch so keiner lesen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>- [cpp ] Tags (scheinst Du versucht zu haben -&gt; Vorschau-Button)<br />
- exakte Fehlermeldung<br />
- Zeilenangabe, wenn möglich übereinstimmend mit dem geposteten Code (der in vernünftigen Tags übrigens sogar Zeilennummern hat)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803118</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 04 Nov 2009 11:56:26 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 11:57:23 GMT]]></title><description><![CDATA[<p>Wenn du den Code-Block noch schließt und das Problem noch etwas auf seine eigentliche Wurzel reduzierst...</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803119</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 04 Nov 2009 11:57:23 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 12:08:43 GMT]]></title><description><![CDATA[<p>OK jetzt Sollte es mit der übersicht passen.</p>
<p>Also mein Problem wie geht das mit der Dynamischen Speicherverwaltung mittels Strukturen. Wie spreche ich das an?<br />
Das was ich probiert habe geht leider nicht.<br />
zeile 41-50.</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803123</guid><dc:creator><![CDATA[goekhan]]></dc:creator><pubDate>Wed, 04 Nov 2009 12:08:43 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 12:18:09 GMT]]></title><description><![CDATA[<p>Okay, dann fange ich mal an!</p>
<pre><code class="language-cpp">struct SortiereFloatZahlen
{
    double FloatNumbers[MAX];
    long Lenge;  
};
</code></pre>
<p>Wo werden hier Float Zahlen Sortiert?</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803130</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 04 Nov 2009 12:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 13:08:31 GMT]]></title><description><![CDATA[<p>hallo</p>
<p>Also Mit Floatnumbers.</p>
<p>code anabschnitt:</p>
<pre><code class="language-cpp">long Sortiere (struct SortiereFloatZahlen Floats[],long y)
{
   long a=0,b=0,c=0,z=0,x=0;
   double Zwischenspeicher= 0;

  do
  {
        for (a=0;Floats[c].FloatNumbers[a]!=0;a++)
        {   

            while(1)
            {
                for (b=0;Floats[z].FloatNumbers[b]!=0;b++)
                {
                    if (Floats[c].FloatNumbers[a]&gt;Floats[z].FloatNumbers[b])
                    {
                        Zwischenspeicher=Floats[c].FloatNumbers[a];  
                        Floats[c].FloatNumbers[a]=Floats[z].FloatNumbers[b];
                        Floats[z].FloatNumbers[b]=Zwischenspeicher;
                    }   
                }
                if (y==z) {z=0;break;}
                z++;
            }
        }
        c++;
    }while(y+1!=c);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1803164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803164</guid><dc:creator><![CDATA[goekhan]]></dc:creator><pubDate>Wed, 04 Nov 2009 13:08:31 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 13:45:36 GMT]]></title><description><![CDATA[<p>Ja, aber die Struktur, die du nach der Aktion benannt hast, führt diese Aktion ja gar nicht aus, das meinte ich!</p>
<p>SortiereFloatZahlen müsste eigentlich eher &quot;FloatFeld&quot; und in diesem speziellen Fall &quot;DoubleFeld&quot; heißen.</p>
<p>Kennst du in C den typedef struct { } structname; - Trick? Wenn du Strukturen so deklarierst, brauchst du hinterher nicht immer struct zu verwenden:</p>
<pre><code class="language-cpp">typedef struct {
   int a;
} astruct;

astruct blubb;
blubb.a = 4;
</code></pre>
<p>So, nachdem das geklärt ist, was soll dynamische_speicher eigentlich genau tun?<br />
Ein Feld von beliebig vielen SortiereFloatZahlen mit wiederum beliebig großem FloatNumbers-Feld?</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803196</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 04 Nov 2009 13:45:36 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 17:05:13 GMT]]></title><description><![CDATA[<p>OK ich versuche mal das anhand dieses Prgrammes zu erklären.</p>
<p>Ich möchte eigentlich nur wissen wie ich einfach für mein 2D Array <strong>Float[].Floatnumbers[]</strong> speicher reservieren kann.</p>
<p>Wie schreibe ich das bzw. wie spreche ich das über eine <strong>Struktur</strong> an</p>
<p>so wie ich es prgrammiert habe kriege ich leider eine Fehlermeldung raus!<br />
<em>&quot;FloatNumbers in something not a structure or union &quot;</em></p>
<p>danke</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#define MAX 10

struct SortiereFloatZahlen
{
    double *FloatNumbers[MAX];
};struct SortiereFloatZahlen Floats[MAX]; 

long dynamische_speicher(struct SortiereFloatZahlen Floats[]);

int main(int argc, char *argv[])
{ 

    dynamische_speicher(Floats);

    system(&quot;PAUSE&quot;);    
    return 0;
}

long dynamische_speicher(struct SortiereFloatZahlen Floats[])
{    
     Floats.FloatNumbers=malloc(MAX*sizeof(double));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1803365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803365</guid><dc:creator><![CDATA[goekhan]]></dc:creator><pubDate>Wed, 04 Nov 2009 17:05:13 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Wed, 04 Nov 2009 19:47:51 GMT]]></title><description><![CDATA[<p>Hallo goekhan,<br />
das, was du da beschreibst, ist im eigentlichen Sinne kein wirkliches 2d-Array.<br />
Es ist ein Array von Strukturinstanzen, welche selber wiederum irgendwas speichern.<br />
Aber ich glaube ich verstehe, was du so am Ende wirklich möchtest. Du möchtest eine zur Laufzeit bestimmte Menge von Double-Feldern mit zur Laufzeit bestimmter Kapazität?</p>
<p>Dann wäre wohl der Folgende Funktionsaufruf etwas, das du gebrauchen könntest:</p>
<pre><code class="language-cpp">SortiereFloatZahlen* MakeMyArray( unsigned int numElements, unsigned int perElementCapacity )
{
    SortiereFloatZahlen* pArray = (SortiereFloatZahlen*) malloc( numElements * sizeof( SortiereFloatZahlen ) );

    for( unsigned int i=0; i&lt;numElements; ++i ) {
        pArray[i].FloatNumbers = (double*) malloc( perElementCapacity * sizeof( double ) );
        pArray[i].Lenge = perElementCapacity;
    }

    return pArray;
}
</code></pre>
<p>Wie man das ganze wieder dealloziert würde ich dir zur Übung lassen. Eigentlich ist das hier aber das dedizierte C++-Forum, nicht C!</p>
<p>Viele Grüße,<br />
Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803440</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 04 Nov 2009 19:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamische Speicherverwaltung über Strukturen on Thu, 05 Nov 2009 15:23:46 GMT]]></title><description><![CDATA[<p>ok danke für die hilfe Decimad.</p>
<p>Das muss ich erst mal verdauen, . <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich habe halt so ein Projekt von der uni bekommen, worin meine Aufgabe darin besteht ,dass ich Textfiles einlese und diverse Bearbeitungen durchführe.<br />
Wie nach einem bestimmten Wort suchen ,ein Wort ersetzen , löschen,markieren umkopieren etc.<br />
Und das alles soll so effizient wie möglich programmiert werden.<br />
Also dynamische Speicher reservierung wird sicher zur Effizienz des Programmes beitragen.<br />
Das meiste habe ich schon nur dynamische Speicher bereitet mir noch kopfzerbrechen.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803889</guid><dc:creator><![CDATA[goekhan]]></dc:creator><pubDate>Thu, 05 Nov 2009 15:23:46 GMT</pubDate></item></channel></rss>