static ein MUSS?



  • Hey Coders!

    Eine ganz einfache Frage!

    Folgendes: Wenn ich eine Funktion in folgender Form habe, MUSS die static sein, oder kann die auch einfach nur nicht-static sein? Kann ich sichergehen, daß mein Speicher nicht einfach wiederverwendet/überschrieben wird?

    char* meineFunktion(int size)
    {
       char* test = (char)malloc((size + 1) * sizeof(char));
       test[0] = '\0';
       return test;
    }
    

    Gruss,
    ~cp



  • nein, static muss nicht sein, was mir auffällt ist aber, dass du unter C castest 😕 (unter C braucht man nicht casten) und dass du ein char* mit char castest, entweder

    char* test = malloc(size + 1);
    

    oder

    char* test = (char*) malloc(size + 1);
    

    Der Speicher ist mit malloc reserviert, also wird wohl nicht wiederverwendet, überschrieben ja, wenn man die Adresse kennt, auf die der Zeiger zeigt, und diese wird beispielsweise durch deine eigene meineFunktion zurückgeliefert.

    Du musst aber nicht vergessen, später den Speicher frei zu geben.



  • static bei Funktionen beeinflusst nur die Sichtbarkeit (in C++ ist das bei Membern noch etwas anderes, aber wir sind hier ja in C).

    btw. solltest du für Größenangaben size_t und nicht int nehmen!



  • Hi. Kann mir einer sagen wie ich ein Programm erstelle dass eine sms versenden kann? (muss natürlich an die nummer gesendet werden die man am Anfang eingegeben hat)

    Also so dass am Anfang geschrieben kommt: gib bitte deine Handynummer ein!, und dann muss man seine Handynummer eingeben und wenn es eine sms versendet sendet es die an diese nummer. es soll diese sms versenden wenn jemand bei msnmessenger online ist und in der sms sollte dann so ungefähr stehen : ...(Name)hat sich gerade angemeldet. Mir ist klar dass da der PC und das Prog. laufen müssen damit dass funktioniert.

    Der Zweck dieser Sache ist dass man wenn man drausen oder irgenwo weg ist sieht wer gerade bei msn online ist.

    Wer dass schafft denn kann man schon Programmiermeister nennen. 😃

    Ich danke im Vorraus

    Gruss Blast



  • 😞 Kann mir denn keiner helfen????????????? 😞

    😕 😕 😕



  • @Blast, bitte stelle deinen Frage in einem separaten Thread.


Anmelden zum Antworten