Diferència entre revisions de la pàgina «Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria»
Salta a la navegació
Salta a la cerca
m (→Unions) |
m (→Unions) |
||
Línia 40: | Línia 40: | ||
} | } | ||
= Unions = | = Unions = | ||
+ | [http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m7/d97m7te.htm Comparativa entre estructures i unions al d97] | ||
/* | /* | ||
http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m7/d97m7p7.htm | http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m7/d97m7p7.htm |
Revisió del 13:47, 2 maig 2023
Contingut
Fitxers
Estructures
/* st03.c */ #include <stdio.h> struct treballador{ char nom[50]; char cognom1[30]; char cognom2[30]; int edat; }; void vPresentaTreballador(struct treballador stT, const char *szQui){ printf("%s: %s %s %s te %d anys\n",szQui,stT.nom,stT.cognom1,stT.cognom2,stT.edat); } void vAugmentaUnAny(struct treballador *pStT){ (*pStT).edat += 1; } void vAugmentaUnAny2(struct treballador *pStT){ //(*pStT).edat += 1; pStT->edat += 1; } int main(){ struct treballador *pT,enginyer, administratiu = {"Eric","Alvarez","Cuerva",18}, auxiliar; vPresentaTreballador(administratiu,"Administratiu"); pT = &administratiu; vPresentaTreballador(*pT,"Apuntador a administratiu"); vAugmentaUnAny(pT); //Pas per referència de l'estructura vPresentaTreballador(*pT,"1) Apuntador a administratiu amb un any incrementat"); vAugmentaUnAny2(pT); //Pas per referència de l'estructura vPresentaTreballador(*pT,"2) Apuntador a administratiu amb un any incrementat"); return 0; }
Unions
Comparativa entre estructures i unions al d97
/* http://www.xtec.cat/formaciotic/ateneu_historic/materials/td97/d97m7/d97m7p7.htm */ #include <stdio.h> struct notes { int mat, fis, inf,qui, fil ; }; union alumne { struct notes N; int nota[5]; }; int main(){ int ct; union alumne joan; joan.N.mat=10; joan.N.fis=9; joan.N.inf=7; joan.N.qui=9; joan.N.fil=10;
printf("\nmat\tfis\tinf\tqui\tfil\n"); for(ct=0;ct<5;ct++){ printf("%d\t",joan.nota[ct]); } return 0; }
Enumeració
/* enum01.c */ #include <stdio.h> enum dia {dilluns, dimarts, dimecres = 7, dijous, divendres, dissabte, diumenge}; int main(){ enum dia avui; avui = divendres; if (avui == divendres){ printf("És divendres\n"); }else{ printf("No és divendres\n"); } printf("avui: %d\n",(int)avui); avui = diumenge; if (avui == divendres){ printf("És divendres\n"); }else{ printf("No és divendres\n"); } return 0; }