Keresés

Új hozzászólás Aktív témák

  • j0k3r!

    őstag

    válasz DiscoStu #1036 üzenetére

    char *id vs. char id[5]

    char *id egy pointer, ami a kezdocime egy karakterlancnak (karaktertombnek), aminek nem tudjuk a hosszat (futasidoben dol el), ezt hasznaljuk dinamikus memoriafoglalasnal.

    amit te 2 lepesben tettel meg:
    char *id; // definialtal egy pointert
    id=new char[5]; // megadtad a meretet

    azt o megtette 1 lepesben (kihasznalva, hogy tudjuk elore, hogy max 4 karakter lehet):
    char id[5]; // 5 elemu karaktertombot hoz letre

    fontos! mindig n + 1 db char-t kell foglalni, mivel van a vegen egy lezaro \0 (amibol kovetkezik, hogy egy karakterlanc elejet a pointer, veget a lezaro \0 hatarozza meg).
    egy kis olvasnivalo evvel kapcsolatban: [link]

    esetleg mitől függ hogy melyik verziót érdemes használni?

    attol, hogy tudod-e elore, hogy maximum (vagy pontosan) mekkora teruletet kell foglalnod.

Új hozzászólás Aktív témák