Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.



 
Trang ChínhTrang Chính  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Sự tinh tế của Typedef

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tboy
Cá voi
Cá voi
Tboy


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 32
Đến từ : TPHCM

Sự tinh tế của Typedef Empty
Bài gửiTiêu đề: Sự tinh tế của Typedef   Sự tinh tế của Typedef EmptyTue Mar 08, 2011 8:57 pm

Sự tinh tế của Typedef Titleb10 Tue Mar 08, 2011 8:57 pm » Sự tinh tế của Typedef Sự tinh tế của Typedef Titleb13
Với người lập trình C, việc bắt gặp và sử dụng TypeDef không có gì là
lạ lẫm hay khó hiểu. Thế nhưng không phải ai cũng có thể thấy hết được
sự tiện lợi và hiệu quả trong việc sừ dụng typedef cũng như bản chất
bên trong của nó là gì. Chúng ta hãy cùng tìm hiểu vấn đề này.

Mọi
người đầu biết typedef đơn thuần là tạo thêm một tên mới cho một cho
kiểu dữ liệu có sẵn, có nghĩa là không tạo ra một kiểu dữ liệu mới. Ví
dụ :

typedef unsigned long int uli;
uli i, j;
unsigned long int x, y;

Trong
đọan mã khai báo trên, các biến i, j có kiểu hoàn tòan giống với biến
x, y. Thực ra, về mặt chức năng, typedef giống với #define. Ngoại trừ
một điều : lện typedef được thông dịch bởi trình biên dịch, nghĩa là
typedef có thể có được tính năng mà các lệnh tiền xử lý thông thường
không thể nào đạt đến.

Có 3 lý do khiến chúng ta dùng typedef :

1-
Các câu lệnh khai báo phức tạp sẽ được viết dễ dàng hơn bằng cách dùng
typedef. Với cách này, người lập trình loai trừ được phần lớn sự phức
tạp của chương trình. Việc sử dụng typedef hợp lý sẽ khiến chương trình
trong sáng hơn nhiều.

2- Hỗ trợ cho việc tạo các chương trình
linh hoạt, dễ di chuyển từ máy này sang máy khác. Nghĩa là, nếu dùng
typedef để định nghĩa một kiểu dữ liệu phụ thuộc vào một cấu trúc máy
nào đó, khi chương trình được đem đến một máy mới, chúng ta chỉ cần
thay đổi câu lệnh typedef tương ứng với kiểu dữ liệu trên máy này.

dụ minh họa cho tính năng này là dùng typedef định nghĩa kiểu đại diện
cho số nguyên (kích thước của kiểu này thay đổi phụ thuộc vào máy
tính), sau đó chúng ta sẽ lựa chọn một kiểu phù hợp (vd : short, long
hay int) tùy thuộc vào máy tính chứa chương trình.

3- Giúp
chương trình trở nên dễ đọc, dễ hiểu. Ví dụ : một nút của danh sách
liên kết đôi sẽ dễ hiểu hơn khi được viết dưới dạng ptr_to_list thay vì
là một con trỏ trỏ đến một cấu trúc phức tạp.

Bây giờ, chúng ta đề cập đến một vài nét tinh tế trong viêc sử dụng typedef. Hãy xem đoạn mã sau :

typedef char * string_t;
#define string_d char *;

string_t s1, s2;
string_d s3, s4;

Bạn có thể nhìn thấy được sự khác biệt của cách dùng typedef và #define ?

Trong
các câu lệnh khai báo trên, s1, s2 có kiểu là char*, nhưng s3, s4 có
kiểu là char (kiểu ký tự), không phải là char* như mong muốn. Vì vậy,
trong đa số trường hợp, typedef được ưa chuộng hơn #define vì nó có thể
mã hóa kiểu pointer một cách chính xác. Không những vậy, typedef còn có
ưu điểm là tuân theo các luật về tầm vực, nghĩa là typedef có thể được
khai báo một cách cục bộ bên trong một chương trình con hay một khối
lệnh trong khi #define luôn tạo ra môt tác động có tính toàn cục.

Sự tinh tế của Typedef 894139 [Sưu tầm]


Tboy

Sự tinh tế của Typedef Border10 Sự tinh tế của Typedef Border14
Về Đầu Trang Go down
https://taplaptrinh.forumvi.com
love_stormHL
Gà choai
Gà choai
love_stormHL


Nam Tổng số bài gửi : 20
Cảm ơn : 22
Danh vọng : 0
Join date : 02/03/2011
Age : 33
Đến từ : Vũng Tàu

Sự tinh tế của Typedef Empty
Bài gửiTiêu đề: Re: Sự tinh tế của Typedef   Sự tinh tế của Typedef EmptyWed Mar 09, 2011 12:14 am

Sự tinh tế của Typedef Titleb10 Wed Mar 09, 2011 12:14 am » Re: Sự tinh tế của Typedef Sự tinh tế của Typedef Titleb13
ồ rất hay thanks


love_stormHL

Sự tinh tế của Typedef Border10 Sự tinh tế của Typedef Border14
Về Đầu Trang Go down
Big Boss
Trứng gà
Trứng gà
Big Boss


Nam Tổng số bài gửi : 16
Cảm ơn : 16
Danh vọng : 0
Join date : 21/01/2011
Age : 31
Đến từ : TP.HCM

Sự tinh tế của Typedef Empty
Bài gửiTiêu đề: Re: Sự tinh tế của Typedef   Sự tinh tế của Typedef EmptyFri Apr 08, 2011 7:39 pm

Sự tinh tế của Typedef Titleb10 Fri Apr 08, 2011 7:39 pm » Re: Sự tinh tế của Typedef Sự tinh tế của Typedef Titleb13
Need experience !?! Sự tinh tế của Typedef 254121


Big Boss

Sự tinh tế của Typedef Border10 Sự tinh tế của Typedef Border14
Về Đầu Trang Go down
Sponsored content




Sự tinh tế của Typedef Empty
Bài gửiTiêu đề: Re: Sự tinh tế của Typedef   Sự tinh tế của Typedef Empty

Sự tinh tế của Typedef Titleb10 » Re: Sự tinh tế của Typedef Sự tinh tế của Typedef Titleb13


Sponsored content

Sự tinh tế của Typedef Border10 Sự tinh tế của Typedef Border14
Về Đầu Trang Go down
 

Sự tinh tế của Typedef

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» Hot girl = Lừa tình
» bt cấu trúc máy tính và hợp ngữ
» bt cấu trúc máy tính và hợp ngữ
» Tính số Fibonacci thứ n-(Câu lệnh lặp FOR-WHILE)
» [Giải trí] Truyện tình yêu vui
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Chia sẻ tài liệu-