Typedef in C Language In Hindi
Learn Typedef in C Language In Hindi
C programming में एक keyword है typedef जिसका इस्तेमाल हम किसी भी type को नया नाम देने के लिए कर सकते हैं इसको हम एक उदहारण से समझने की कोशिश करते हैं
typedef unsigned char MYBYTE;
तो फिर MYBYTE एक नया वेरिएबल होने की जगह खुद वेरिएबल की टाइप हो गया इससे अब हम इसी तरह के और वेरिएबल डिफाइन कर सकते हैं जैसे अब हम
MYBYTE m1 , m2;
लिख सकते हैं और नए वेरिएबल m1 और m2 भी unsigned char type के वेरिएबल होंगे |
वैसे ये कोई नियम तो नहीं पर typedef के लिए वेरिएबल का नाम कैपिटल में लिखते हैं जिससे हमें कहीं भी देखकर ही मालूम हो जाये कि इसी वेरिएबल को typedef से डिफाइन किया है |
#include <stdio.h> #include <string.h> typedef struct Books { int book_id; char title[50]; char author[50]; float price; } BOOK; /* यहां पर BOOK भी typedef से Struct Books की तरह का वेरिएबल define हो गया है */ int main( ) { BOOK book; book.book_id = 207; strcpy( book.title, "C Programming in Hindi"); strcpy( book.author, "Amit Kumar"); book.price = 414.00; printf( "Book book_id : %dn", book.book_id); printf( "Book title : %sn", book.title); printf( "Book author : %sn", book.author); printf( "Book price : %fn", book.price); return 0; }
output
Book book_id : 207
Book title : C Programming in Hindi
Book author : Amit Kumar
Book price : 414.00
typedef vs #define
#define एक C directive है जो कि typedef की तरह ही काम करता है | पर इन दोनों में कुछ अंतर भी हैं
- typedef में सिर्फ type के नाम को ही नाम बदल सकते हैं जबकि #define से हम किसी वैल्यू के नाम का alias नाम भी रख सकते हैं
- typedef statement का interpretation compiler से होता है जबकि #define का interpretation पहले pre-processor से फिर compiler से होता है |
#include <stdio.h> #define MALE 1 #define FEMALE 0 int main( ) { printf( "Value of MALE : %dn", MALE); printf( "Value of FEMALE : %dn", FEMALE); return 0; } output Value of MALE : 1 Value of FEMALE : 0
इस statment में compile होने से पहले ही pre-prcessor के चलने पर MALE और FEMALE की actual value से replace हो जाता है