Typedef Trong C

typedef trong c

Ngôn ngữ lập trình C cung cấp một từ khóa được gọi là typedef, bạn có thể sử dụng để cung cấp kiểu cho một loại tên mới.

Typedef trong c
Typedef trong c

Dưới đây là ví dụ để xác định BYTE cho kiểu dữ liệu unsigned char

typedef unsigned char BYTE;

Sau định nghĩa này, định danh BYTE có thể được sử dụng như một từ viết tắt cho loại unsigned char, ví dụ:

BYTE b1, b2;

Theo quy ước, chữ hoa được sử dụng cho các định nghĩa để nhắc nhở người dùng rằng tên thực sự là một từ viết tắt tượng trưng, ​​nhưng bạn có thể sử dụng chữ thường, như sau:

typedef unsigned char byte;

Bạn có thể sử dụng typedef để đặt tên cho kiểu dữ liệu do người dùng xác định.

Ví dụ, bạn có thể sử dụng typedef với cấu trúc để định nghĩa một kiểu dữ liệu mới và sau đó sử dụng kiểu dữ liệu đó để định nghĩa các biến cấu trúc trực tiếp như sau:

#include

#include

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;

}

Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:

Book title : C Programming

Book author : Nuha Ali

Book subject : C Programming Tutorial

Book book_id : 6495407

1. Typedef và  #define trong C

#define là chỉ thị C cũng được sử dụng để xác định bí danh cho các loại dữ liệu khác nhau tương tự typedef nhưng với những khác biệt sau đây:

typedef được giới hạn chỉ cung cấp các tên viết tắt cho các kiểu, trong khi đó #define có thể được sử dụng để định nghĩa tên hiệu cho cả các giá trị, như bạn có thể định nghĩa 1 là ONE, ….

Typedef được thực hiện bởi trình biên dịch trong khi các câu lệnh #define được xử lý bởi bộ xử lý trước.

Ví dụ sau cho thấy cách sử dụng #define trong một chương trình:

#include

#define TRUE 1

#define FALSE 0

int main( ) {

printf( "Value of TRUE : %d\n", TRUE);

printf( "Value of FALSE : %d\n", FALSE);

return 0;

}

Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:

Value of TRUE : 1

Value of FALSE : 0

Bài viết liên quan

Leave a Reply

Your email address will not be published. Required fields are marked *

Hotline: 0353.366.750
Chat Facebook
Gọi điện ngay