Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di alkresl
    Registrato dal
    Feb 2005
    Messaggi
    270

    [C]fondere variabili

    raga, avrei un problemino, vorrei che una mia variabile sia composta da altre variabili in questo modo(anche se dall'esempio risulta errato), come potrei fare, per fondere queste mie variabili e renderla una sola?
    Codice PHP:
    char a,b,c,d;
    b=1;
    c=2;
    d=3;
    a=bcd

  2. #2

    Re: [C]fondere variabili

    Originariamente inviato da alkresl
    raga, avrei un problemino, vorrei che una mia variabile sia composta da altre variabili in questo modo(anche se dall'esempio risulta errato), come potrei fare, per fondere queste mie variabili e renderla una sola?
    Codice PHP:
    char a,b,c,d;
    b=1;
    c=2;
    d=3;
    a=bcd
    Se ho ben capito credo che ti serva una struct :
    Codice PHP:

    struct _miaStruttura 
    {
        
    char a;
        
    char b;
        
    char c;
    };

    int main()
    {
        
    _miaStruttura miaStruttura;
        
    miaStruttura.'a';
        
    miaStruttura.66;
        
    miaStruttura.'c';

        
    printf("a = %c\nb = %c\nb = %c\n"miaStruttura.amiaStruttura.bmiaStruttura.c);

    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Noooo...una struttura è esagerata.
    Includi il file string.h nei tuoi programmi
    Dichiara le variabili come string invece di char
    e poi usa la funzione strcpy per copiare una stringa in un'altra

  4. #4
    Originariamente inviato da Samuele_70
    Se ho ben capito...
    appunto...
    Originariamente inviato da XWolverineX
    Noooo...una struttura è esagerata.
    Includi il file string.h nei tuoi programmi
    Dichiara le variabili come string invece di char
    e poi usa la funzione strcpy per copiare una stringa in un'altra
    In questo caso lo struct non c'entra affatto.
    Forse quello che ad alkresl serve è una stringa di caratteri :

    codice:
    char a[4];
    char b=66;
    char c='C';
    char d=68;
    
    a[0] = b;
    a[1] = c;
    a[2] = d;
    // Se vuoi usarla come stringa aggiungi anche un terminatore:
    // a[3] = '\0';
    // printf("a = %s", a);
    Intendevi una cosa del genere ? :master:
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Effettivamente non si capisce bene se abbia bisogno di una struttura dati che sia composta da più dati o se abbia bisogno di una struttura dati che gli permetta di essere vista come più dati.

    La differenza, insomma, fra una struct e una union.

    La struct rappresenta il classico record: una variabile composta da più variabili potenzialmente di tipo diverso.

    La union rappresenta una variabile che può essere interpretata, di volta in volta, in modo diverso.

    Esempio:
    codice:
    struct record {
       int intero;
       char c1;
       char c2;
       char c3;
       char c4;
    };
    
    union unione {
       int intero;
       char c1;
       char c2;
       char c3;
       char c4;
    };
    La prima (record) occupa 8 byte ed è composta da una variabile intera e 4 variabili carattere.
    La seconda occupa 4 byte e può essere vista (indifferentemente) come un intero o una stringa di 4 caratteri (ciascuno dei quali indirizzabile separatamente).


    Oppure ha semplicemente bisogno di una stringa...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.