Visualizzazione dei risultati da 1 a 7 su 7

Discussione: funzioni e typedef

  1. #1

    funzioni e typedef

    Buongiorno a tutti.

    Sto cercando di imparare l'uso delle funzioni, in un constesto in cui restituiscono una struct, ma non tutto mi e' chiaro. Vorrei domandare aiuto nel capire che cosa no va nel seguente codice.

    Grazie mille per l'aiuto.
    Pagnottazzo



    #include <stdio.h>

    typedef struct m
    {
    int f1;
    int f2;
    } tp;

    main()
    {



    tp a;
    tp b;
    int i;

    a.f1 = 1000;
    a.f2 = 233;

    printf("%d %d \n", a.f1, a.f2);

    b = init();
    printf("%d %d \n", b.f1, b.f2);


    scanf("%d \n", &i);
    }



    struct m init()
    {
    tp M;
    int a = 20;
    int b = 24;
    M.f1 = a;
    M.f2 = b;
    return(M);


    // int w = 3800;
    // return(w);
    }

  2. #2

    Re: funzioni e typedef

    codice:
    #include <stdio.h>
    
    typedef struct m
    {
       int f1;
       int f2;
    } tp;
    
    void init(tp *pM);
    
    int main(void)
    {
    
       tp a;
       tp b;
       int i;
    
       a.f1 = 1000;
       a.f2 = 233;
    
       printf("%d %d \n", a.f1, a.f2);
    
       init(&b);
       printf("%d %d \n", b.f1, b.f2);
    
       scanf("%d \n", &i);
    
       return 0;
    
    }
    
    void init(tp *pM)
    {
    
       pM->f1 = 20;
       pM->f2 = 24;
    
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    14
    Cosi funziona...
    codice:
    #include <stdio.h>
    
    typedef struct m{ 
    	int f1;
    	int f2;
    } tp;
    
    struct m init(){
    	tp M;
    	int a = 20;
    	int b = 24;
    	M.f1 = a;
    	M.f2 = b;
    	return(M);
    	//int w = 3800;
    	//return(w);
    }
    
    main(){
    	tp a;
    	tp b;
    	int i;
    
    	a.f1 = 1000;
    	a.f2 = 233;
    
    	printf("%d %d \n", a.f1, a.f2);
    
    	b = init();
    	printf("%d %d \n", b.f1, b.f2);
    
    
    	scanf("%d \n", &i);
    	return;
    }
    Devi solo implementare la funzione che usi nel main prima, oppure scriverne solo il prototipo (cioè il valore di ritorno e i parametri che gli devi passare struct m init(); ) sopra e l'implementazione sotto

  4. #4
    Anche la mia funziona ,
    ed è più corretta

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    14
    scusa...mentre scrivevo non mi sono accorta che nel frattempo avevi risposto pure tu, non volevo dire che il tuo codice era sbagliato....

  6. #6

  7. #7
    Originariamente inviato da boll85
    Cosi funziona...


    Devi solo implementare la funzione che usi nel main prima, oppure scriverne solo il prototipo (cioè il valore di ritorno e i parametri che gli devi passare struct m init(); ) sopra e l'implementazione sotto

    Grazie mille!!!!!!
    Pagnottazzo

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.