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