Typedef C Dijelaskan: Sederhanakan Kode Anda dengan Nama Tipe Kustom
Bahasa pemrograman C menyediakan kata kunci bernama typedef, yang dapat Anda gunakan untuk memberi nama baru pada suatu tipe. Berikut adalah contoh untuk mendefinisikan istilah BYTE untuk angka satu byte −
typedef unsigned char BYTE;
Setelah definisi tipe ini, pengidentifikasi BYTE dapat digunakan sebagai singkatan untuk tipe unsigned char, misalnya..
BYTE b1, b2;
Menurut konvensi, huruf kapital digunakan untuk definisi ini untuk mengingatkan pengguna bahwa nama tipe sebenarnya adalah singkatan simbolis, tetapi Anda dapat menggunakan huruf kecil, sebagai berikut −
typedef unsigned char byte;
Anda dapat menggunakan typedef untuk memberi nama pada tipe data yang Anda definisikan sendiri juga. Misalnya, Anda dapat menggunakan typedef dengan struktur untuk mendefinisikan tipe data baru dan kemudian menggunakan tipe data tersebut untuk mendefinisikan variabel struktur secara langsung sebagai berikut −
Live Demo
#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 dieksekusi, hasilnya adalah sebagai berikut −
Judul Buku : C Programming Penulis Buku : Nuha Ali Subjek Buku : C Programming Tutorial ID Buku : 6495407
typedef vs #define
#define adalah direktif C yang juga digunakan untuk mendefinisikan alias untuk berbagai tipe data yang serupa dengan typedef tetapi dengan perbedaan berikut −
typedef terbatas pada pemberian nama simbolis pada tipe saja sedangkan #define dapat digunakan untuk mendefinisikan alias untuk nilai juga, misalnya, Anda dapat mendefinisikan 1 sebagai ONE, dll.
typedef ditafsirkan oleh kompiler sedangkan pernyataan #define diproses oleh pre-prosesor.
Contoh berikut menunjukkan cara menggunakan #define dalam program −
Live Demo
#include <stdio.h> #define TRUE 1 #define FALSE 0 int main( ) { printf( "Nilai TRUE : %d\n", TRUE); printf( "Nilai FALSE : %d\n", FALSE); return 0; } Ketika kode di atas dikompilasi dan dieksekusi, hasilnya adalah sebagai berikut −
Nilai TRUE : 1 Nilai FALSE : 0