czwartek, 26 kwietnia 2018

Język C -Typedef


C -Typedef

Język programowania C dostarcza słowa kluczowego o nazwie typedef, którego można użyć do nadania nowej nazwy. Poniżej znajduje się przykład definiowania terminu BYTE dla liczb jednobajtowych -
typedef unsigned char BAJT;
Po tym typie definicji, na przykład może być użyty identyfikator BAJT jako skrót dla typu unsigned char. .
BAJT  b1, b2;
Zgodnie z konwencją dla tych definicji używane są wielkie litery, aby przypomnieć użytkownikowi, że nazwa typu jest w rzeczywistości symbolicznym skrótem, ale można używać małych liter w następujący sposób:
typedef unsigned char bajt;
Możesz użyć typedef, aby nadać nazwę również swoim typom danych zdefiniowanych przez użytkownika. Na przykład możesz użyć polecenia typedef ze strukturą, aby zdefiniować nowy typ danych, a następnie użyć tego typu danych do bezpośredniego zdefiniowania zmiennych struktury w następujący sposób:
#include <stdio.h>
#include <string.h>

typedef struct Ksiazki {
   char tytul[50];
   char autor[50];
   char temat[100];
   int ksiazki_id;
} Ksiazka;

int main( ) {

   Ksiazka ksiazka;

   strcpy( ksiazka.tytul, "C Programowanie");
   strcpy( ksiazka.autor, "Nuha Ali");
   strcpy( ksiazka.temat, "C Programowanie Tutorial");
   book.book_id = 2222222;

   printf( "Ksiazka tytul : %s\n", ksiazka.tytul);
   printf( "ksiazka autor : %s\n", ksiazka.autor);
   printf( "Ksiazka temat : %s\n", ksiazka.temat);
   printf( "Ksiazka Ksiazka_id : %d\n", ksiazka.ksiazka_id);

   return 0;
}
Gdy powyższy kod zostanie skompilowany i wykonany, wygeneruje się następujący wynik:
Ksiazka  tytul : C Programowanie
Ksiazka  autor : Nuha Ali
Ksiazka  temat : C Programowanie Tutorial
ksiazka  ksiazka_id : 2222222

typedef vs #define

#define to dyrektywa C, która jest również używana do definiowania aliasów dla różnych typów danych podobnych do typedef, ale z następującymi różnicami -
·      Typedef jest ograniczony do nadawania nazw symbolicznych typom tylko wtedy, gdy #define może być użyte do zdefiniowania aliasu dla wartości, q., możesz zdefiniować 1 jako JEDEN itd.
·      interpretacja typedef jest wykonywana przez kompilator, podczas gdy instrukcje #define są przetwarzane przez preprocesor.
Poniższy przykład pokazuje, jak używać #define w programie:

#include <stdio.h>

#define TRUE  1
#define FALSE 0

int main( ) {
   printf( "Wartość TRUE : %d\n", TRUE);
   printf( "Wartość FALSE : %d\n", FALSE);

   return 0;
}
Gdy powyższy kod zostanie skompilowany i wykonany, wygeneruje się następujący wynik:
Wartość TRUE : 1
Wartość FALSE : 0


Poprzednia strona                                                          Następna strona



Brak komentarzy:

Prześlij komentarz