Προς το περιεχόμενο

C Προβλημα με δυναμικη διχειριση μνημης.


antonis1245

Προτεινόμενες αναρτήσεις

Πραγματικά  ρε συ με όλο το forum θα τσακωθείς ; μάλλον αποζητάς την προσοχή μας αλλά με λάθος τρόπο...για 50 χρονών άνθρωπος η συμπεριφορά σου είναι ανεξήγητη .

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 142
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Όχι είναι εξηγήσιμη, ..δεν τσακώνομαι με όλο το φόρουμ.  Απλά βλέπω ανθρώπους που ασχολούνται με προγραμματισμό και χαίρομαι και άλλους που δεν ασχολούνται και κάνουν και τους φύλακες του φόρουμ!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ρε συ απλά κουράζεις .. πας και γράφεις παντού σεντόνια χωρίς ουσιαστικό νόημα και πολλές φορές μη γνωρίζοντας καν το θέμα , από την άλλη "διαφημίζεις" την m2000 με την κάθε ευκαιρία και όταν σου λένε ότι δεν διαβάζεται αρχίζεις τα δικά σου. 

Πόσα άτομα πρέπει να σου μιλήσουν για να αναρωτηθείς αν κάνεις κάτι στραβά ; 

Τι να σου πω παρόλο που δίνεις την εντύπωση πως είσαι άνθρωπος με πολλές γνώσεις στο προγραμματισμό αναλώνεσαι με την φλυαρία σου - την συμπεριφορά σου και γίνεσαι αντιπαθιτικός ενώ θα μπορούσε η συμμετοχή σου στο φόρουμ να είναι θετική .

Φιλικά 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν έχω καμία πρόθεση να δημιουργώ πρόβλημα. Βρίσκομαι σε φάση e-bulling με τους "παλιούς" που μαζεύουν και "άσχετους" για να τους υποστηρίζουν. Αν αυτά που γράφω είναι "ανούσια"...σκέφτηκες αν είναι ανούσια ως προς τις προσδοκίες που έχεις από μένα;

Το ότι έγραψα μια γλώσσα προγραμματισμού και την εξέλιξα σε βάθος 15 ετών...δεν είναι λόγος να με κάνει "γνώστη" των πάντων και να περιμένεις ότι δεν θα γράψω βλακεία, ότι δεν θα παρερμηνεύσω κάτι, ότι δεν  θα έχω χειρότερη ιδέα από κάποιον άλλο!

Άρα στην ουσία "κουράζω" αυτόν που βλέπει τα πράγματα όπως θα ήθελε και όχι όπως είναι!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Από τα 125 μηνύματα, ούτε τα 25 δεν είναι επί του θέματος και τα υπόλοιπα είναι πέρα-δώθε

 

- "γιατί είσαι troll και δεν συνεισφέρεις κάτι καλό στο φόρουμ ?"

- "δεν είμαι troll. εγώ καλά τα λέω, οι άλλοι φταίνε"

 

Ο OP είτε κουράστηκε με το όλο θέμα και έφυγε ή καλύφθηκε από τις απαντήσεις και έφυγε οπότε δεν βλέπω κάποιο νόημα. Και 35 σελίδες να φτάσουμε, ο M2000 δεν πρόκειται να παραδεχτεί ότι κάνει κακό. Με αυτό το σκεπτικό, μόλις έκανα αναφορά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Μάλιστα!

Ποιός έχει γράψει το παρακάτω...και τώρα θέλει την προγραμματιστική μας βοήθεια;

 

 

Block Άμεσα!

 

Για να μην ψάχνεστε, σε εμένα αναφέρεται.

 

Ευχαριστώ Μ2000.

Επεξ/σία από dolph
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στο #34 έβαλε ο Imitheos ένα πρόγραμμα, στο #41 έβαλα ένα εγώ, και αμέσως φάνηκε σαν να έπεσε βόμβα. Όσοι υποστήριζαν ότι έχει πρόβλημα το πρόγραμμα δεν το είχαν τρέξει. Το σκέφτηκαν απλά! Ότι μελλοντικά θα υπάρχει πρόβλημα...έχουμε UB.

Τα υπόλοιπα μέχρι και αυτό ποιος τα δημιούργησε;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το να έχεις UB σε ένα πρόγραμμα C είναι σα να πηγαίνει κανείς να βάλει βενζίνη με δύο πούρα σε κάθε χέρι (σόρι παιδιά, αυτό μου ήρθε έτσι στα γρήγορα).

 

Βλέπουμε κάποιον να το κάνει αυτό και του λέμε εεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεε, και η αντίδρασή του είναι να πει "σιγά τη φασαρία ρε, ορίστε δεν έγινε τίποτα, τι φωνάζετε, μύγα σας τσίμπησε;"

 

Καταλαβαίνεις πόσο μαλάκα θα θεωρούν οι πάντες τον τύπο που τα λέει αυτά στο βενζινάδικο;

 

Ε βγάλε τα συμπεράσματά σου και για εδώ.

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το να έχεις UB σε ένα πρόγραμμα C είναι σα να πηγαίνει κανείς να βάλει βενζίνη με δύο πούρα σε κάθε χέρι (σόρι παιδιά, αυτό μου ήρθε έτσι στα γρήγορα).

Δεκαπέντε φορές έχω περάσει με κόκκινο και δεν έγινε τίποτα. Τι μου έλεγαν αυτοί οι σαψάληδες στο insomnia ότι δεν πρέπει να περνάω με κόκκινο ? Φαίνεται αυτοί δεν προσπάθησαν ποτέ να περάσουν ("δεν έτρεξαν τον κώδικα")

  • Like 5
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main()
{
    char  *name, *buf,  *temp;
    uint word=0, top=0, limit=0;
    const int s_size=255, m_page=20;
    char  label[][100]= {"Enter a Greek phrase/word: ","Enter an English phrase/word: "};
    int k=10, p=1, new_p;
    buf=malloc(s_size);
    name=malloc(p*m_page+1);
    limit=m_page*p;
    top=0;
    word=0;
    do {
    printf("%s",label[k % 2]);
    scanf("%[^\n]%*c",buf);
    if(strlen(buf)>0) {
        top+=strlen(buf)+1;
        if(top>limit) {
                // problem because p is changed before check  for realloc.
                new_p=p+(top-limit)/m_page+1;
                temp=realloc(name,new_p*m_page+1);
                if (!temp) break;
                p=new_p;  // now is ok
                limit=m_page*p;
                name=temp;
        }

        strcpy(name+word, buf);
        strcpy(buf,"");  // if you forget it...you have a problem
        printf("Your phrase is: %s\n",word+name);
        word=top;
     } else { k=1;
        printf("Look this %d 2\n", k);
     }
    k--;
    printf("%d\n", k);
    }while(k>0);
    printf("Now we see what we have\n");
    word=0;
    strcpy(name+top,"");  // guard
    k=strlen(name+word);
    while(k>0) {
        printf("%s\n",name+word);
        word+=k+1;
        k=strlen(name+word);
    }
    free(name);
    free(buf);
    return 0;

Τώρα δεν έχει κανένα UB...

(είχε και δεύτερο που δεν είχε αναφερθεί...δεν πρέπει να αλλάζουμε μεταβλητή που δείχνει το μέγεθος του πίνακα πριν σιγουρευτούμε ότι ο πίνακας άλλαξε μέγεθος)

 

1 - 0

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Διάβασα αρκετά από τα ενδιαφέροντα άρθρα που βάλατε για C. Αυτό που ταιριάζει πολύ εδώ είναι αυτό το κομμάτι:

#include <stdio.h>
#include <stdlib.h>
 
int main() {
  int *p = (int*)malloc(sizeof(int));
  int *q = (int*)realloc(p, sizeof(int));
  *p = 1;
  *q = 2;
  if (p == q)
    printf("%d %d\n", *p, *q);
}

Μπορείτε να φανταστείτε τι θα κάνει το πρόγραμμα;

 

(πηγή)


Επίσης πολύ καλή σειρά άρθρων είναι αυτή.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επισκέπτης
Αυτό το θέμα είναι πλέον κλειστό για περαιτέρω απαντήσεις.
  • Δημιουργία νέου...