C typedef


Bahasa C menyediakan kata kunci typedef, yang boleh anda gunakan untuk memberikan nama baharu kepada sesuatu jenis. Contoh berikut mentakrifkan istilah BYTE untuk nombor bait tunggal:

typedef unsigned char BYTE;

Selepas takrif jenis ini, pengecam BYTE boleh digunakan sebagai singkatan untuk jenis unsigned char, Contohnya:

BYTE  b1, b2;

Mengikut konvensyen, takrifan ditulis dengan huruf besar untuk mengingatkan pengguna bahawa nama jenis ialah singkatan simbolik, tetapi anda juga boleh menggunakan huruf kecil, seperti ini:

rreee

Anda juga boleh Gunakan typedef untuk memberikan nama baharu kepada jenis data yang ditentukan pengguna. Contohnya, anda boleh menggunakan typedef pada struktur untuk mentakrifkan jenis data baharu, dan kemudian gunakan jenis data baharu ini untuk mentakrifkan pembolehubah struktur secara langsung, seperti berikut:

typedef unsigned char byte;

Apabila kod di atas disusun dan dilaksanakan, ia akan menghasilkan keputusan berikut:

#include <stdio.h>#include <string.h> typedef struct Books{   char  title[50];   char  author[50];   char  subject[100];   int   book_id;} Book; int main( ){   Book book;
 
   strcpy( book.title, "C Programming");
   strcpy( book.author, "Nuha Ali"); 
   strcpy( book.subject, "C Programming Tutorial");
   book.book_id = 6495407;
 
   printf( "Book title : %s\n", book.title);
   printf( "Book author : %s\n", book.author);
   printf( "Book subject : %s\n", book.subject);
   printf( "Book book_id : %d\n", book.book_id);   return 0;}

typedef vs #define

#define ialah arahan C yang digunakan untuk menentukan alias untuk pelbagai jenis data, tidak seperti typedef adalah serupa, tetapi mereka mempunyai perbezaan berikut:

  • typedef terhad kepada mentakrifkan nama simbolik untuk jenis, #define boleh bukan sahaja mentakrifkan nama simbolik untuk jenis Jenis alias definisi juga boleh ditakrifkan untuk nilai berangka Contohnya, anda boleh mentakrifkan 1 sebagai SATU.

  • typedef ditafsirkan oleh pengkompil, dan pernyataan #define diproses oleh precompiler.

Berikut ialah penggunaan paling mudah #define:

Book  title : C ProgrammingBook  author : Nuha AliBook  subject : C Programming TutorialBook  book_id : 6495407

Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:

#include <stdio.h> #define TRUE  1#define FALSE 0 int main( ){
   printf( "Value of TRUE : %d\n", TRUE);
   printf( "Value of FALSE : %d\n", FALSE);   return 0;}