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 (→Enumeració) |
m |
||
Línia 1: | Línia 1: | ||
= Fitxers = | = Fitxers = | ||
= Estructures = | = 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 = | = Unions = | ||
= Enumeració = | = Enumeració = |
Revisió del 13:40, 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
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; }