myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Structs in C (https://mygully.com/showthread.php?t=2901201)

Schnidlwuz 15.04.13 17:37

Structs in C
 
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Stack_elem.h
PHP-Code:

#ifndef STACK_ELEM
#define STACK_ELEM

struct Stack_Elem
{

struct Stack_Elem *next;


 
void *data;

};

#endif // STACK_ELEM 


PHP-Code:

#include "stack_elem.h"
#include <stdlib.h>
#include <stdio.h>

struct Stack_Elem *Stack_Elem_new(struct Stack_Elem *next,  void *data)
{

struct Stack_Elem **neu;
*
neu = (struct Stack_Elem*) malloc(sizeof(struct Stack_Elem));

if(
neu==NULL)
{
    
printf("Speicher ist voll \n");
    exit(
1);
}



return *
neu;

}

void *Stack_Elem_delete(struct Stack_Elem *neu)
{
    
void *data;
free (neu);
return 
data;

}

void Stack_Elem_print(struct Stack_Elem &neu)
{

printf (" %p: { next =%p, data =%p}"elemelem -> nextelem -> data );




So Hallo erstmal,

ich hab da so einige probleme bei dieser aufgabe. Bei der ersten Funktion bin ich mir eigentlich ziemlich sicher dass die richtig ist.

Bei der 2. funktion bin ich mir noch unsicher was genau ich mit data machen soll

Und bei der 3. Funktion steh ich auf dem schlauch was genau ich übergeben soll? Ich bekomme in dieser Fkt. eh einen syntax error bei den übergabeparametern, weiß jemand warum?

Schnidlwuz 16.04.13 13:44

danke!

also die dritte funktion hab ich bereinigt.

hier nochmal ein ausschnitt der ersten funktion:

PHP-Code:

struct Stack_Elem *Stack_Elem_new(struct Stack_Elem *next,  void *data)
{

struct Stack_Elem **elem;
elem = (struct Stack_Elem*) malloc(sizeof(struct Stack_Elem));

if(
elem==NULL)
{
    
printf("Speicher ist voll \n");
    exit(
0);
}

return *
elem;



ich gebe doch hier einen pointer zurück der mit der speicherverwaltung zusammenhängt? Inwiefern soll ich data benutzen ich seh da nichts davon in der Aufgabenstellung, wobei diese allgemein ziemlich unverständlich -zumindest für mich- geschrieben ist


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.