Latest web development tutorials

C typedef

Bahasa C menyediakan kata kuncitypedef, Anda dapat menggunakannya untuk mengambil nama baru untuk jenis.Contoh berikut mendefinisikanBYTE jangka adalah nomor byte tunggal:

typedef unsigned char BYTE;

Setelah definisi jenis ini, dapat digunakan sebagai identifier BYTEunsigned tipe charsingkatan, seperti:

BYTE  b1, b2;

Dengan konvensi, definisi akan dikapitalisasi surat-surat untuk mengingatkan pengguna untuk mengetik nama simbolik merupakan singkatan, namun Anda juga dapat menggunakan huruf kecil, sebagai berikut:

typedef unsigned char byte;

Anda juga dapat menggunakantypedef untuk tipe data khusus untuk mengambil nama baru bagi pengguna.Misalnya, Anda dapat menggunakan typedef struktur untuk menentukan tipe data baru, dan kemudian menggunakan tipe data baru ini untuk menentukan struktur variabel langsung, sebagai 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;
}

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Book  title : C Programming
Book  author : Nuha Ali
Book  subject : C Programming Tutorial
Book  book_id : 6495407

typedef vs #define

C# define direktif digunakan untuk mendefinisikan alias untuk berbagai jenis data, dan typedefserupa, tetapi mereka memiliki perbedaan sebagai berikut:

  • typedef hanya nama simbolik untuk typedef,# define dapat tidak hanya menentukan jenis alias, tetapi juga menentukan alias untuk nilai, misalnya, Anda dapat menentukan 1 ONE.
  • typedef dilakukan oleh compiler ditafsirkan,pernyataan define dilakukan oleh pra-diproses oleh compiler.

Berikut adalah penggunaan sederhana dari define:

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

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Value of TRUE : 1
Value of FALSE : 0