Diferència entre revisions de la pàgina «Fonaments de gestió de fitxers, estructures i gestió dinàmica de memòria»

De binefa.com
Salta a la navegació Salta a la cerca
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

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;
}