Grazie mille per la risposta immediata, quindi sostanzialmente è la stessa cosa?


Visto che ci sono approfitto della tua disponibilità e ti chiedo se invece s fosse un vettore quindi ad esempio:

codice:
#include <stdio.h>

typedef struct prova{
    char str[20];
    int num;
}PRO;

void scrivi(PRO *s);
void stampa(PRO *s);

int main()
{
    PRO s[2];

    scrivi(s);
    stampa(s);

    return 0;

}

void scrivi(PRO *s)
{
    int i;

    for(i=0; i<2; i++){
        printf("\nInserire una stringa: ");
        scanf("%s", s[i].str);
        printf("\nInserire un numero: ");
        scanf("%d", &s[i].num);
    }
}

void stampa(PRO *s)
{
    int i;

    for(i=0; i<2; i++){
        printf("\n\nStr: %s", s[i].str);
        printf("\nnum: %d", s[i].num);
        printf("\n");
    }
}
anche in questo caso fare scanf("%s", s[i].str); o scanf("%s", &s[i].str); è la stessa cosa?