Advertisement
informaticage

LAE 1819 1.C

Jun 15th, 2019
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.98 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main ( void )
  4. {
  5.     /**
  6.         Definizione di un tipo struttura con tag YouS, composto da 2 membri:
  7.         m1 unsigned e m2 array di 4 int
  8.     **/
  9.     typedef struct {
  10.         unsigned int m1;
  11.         int m2 [ 4 ];
  12.     } YouS;
  13.  
  14.     /**
  15.         Dichiarazione di una variabile s del tipo YouS inizializzata a piacere
  16.     **/
  17.     YouS s = {
  18.         10,
  19.         { 1, 2, 3, 4 }
  20.     };
  21.  
  22.     /**
  23.         Dichiarazione di un puntatore p di tipo YouS inizializzato in modo da puntare ad s
  24.     **/
  25.     YouS* p = &s;
  26.  
  27.     /**
  28.         Usando p, accedere al membro m1 di s e azzerare i bit 3, 7, 11 e porre a 1 i bit 0 e 5;
  29.     **/
  30.     /// 1 Porre a 0 i bit 3, 7, 11
  31.     p->m1 = p->m1 & 0xFFFFF777;
  32.  
  33.     /// Porre a 1 i bit 0 e 5
  34.     p->m1 = p->m1 | 0x00000021;
  35.  
  36.     /**
  37.         Istruzione equivalente a s.m2 [ 3 ] che utilizza l'operatore * ( deferenziazione ) e l'aritmetica dei puntatori
  38.     **/
  39.     * ( ( *p ).m2 + 3 ) = 33;
  40.  
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement