Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] - Esperti sulle stringhe

    Salve, volevo sapere come mai in C non si può assegnare, comparare ecc.. con comandi come:
    codice:
    char q [50];
    char s [] = "pippo";
    q = s;
    
    /* ---------- */
    
    if (s == q) ecc...
    e bisogna invece usare le funzioni contenute nella <string.h>, motivo di questa scelta?

    Grazie..

  2. #2
    Uff, 1000 volte sara` stato detto. Il nome di un array e` un puntatore e quindi un indirizzo di memoria. Per copiare un array si fa la copia elemento per elemento; per confrontare due array si fa il confronto elemento per elemento; confrontando due puntatori il risultato sara` 'true' sse i due puntatori puntano allo stesso indirizzo di memoria (in questo caso l`inizio di un array), non se - visti come array - contengono gli stessi elementi. Ti torna?

  3. #3

  4. #4
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    il c considera le stringhe come un vettore, perciò deve verificare ogni singolo elemento...

  5. #5
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    sono arrivato in ritardo...

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Sono così comode le funzioni di <string.h>


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.