30/09/2018, 19:37

Cách định nghĩa trong c

cả nhà giúp em hiểu cách định nghĩa này với ạ, lạ quá!

#define A ((unsigned int)1)

cảm ơn cả nhà ạ!

lahata viết 21:43 ngày 30/09/2018

De compiler xac dinh chinh xac A la unsigned int do ban

明玉 viết 21:41 ngày 30/09/2018

Cái đó là hệ thống macro của C, viết như vậy thì nếu bạn sử dụng A trong code thì khi IDE kiểm tra code hoặc compile code thì nó sẽ thay A thành cái ((unsigned int)1) đó, giống như find and replace ấy.

X viết 21:46 ngày 30/09/2018

Xem thêm 2 topic dưới
http://daynhauhoc.com/t/mot-so-cach-define-dac-biet-trong-c-c/6731

#define AREA_CIRCLE (frad) (4*PI*frad*frad) //tinh dien tich hinh cau #define SUM(x,y) ((x)+(y)) //cong 2 so #define SQR(x) ((x)*(x)) //tinh x binh phuong #define MAX(x,y) ((x)>(y)?(x):(y)) //tim so lon nhat giua x va y #define ERROR (s) printf("%s.\n", s) //in thong bao voi chuoi s

kaka viết 21:41 ngày 30/09/2018

vậy A được gán giá trị là 1 đúng không bạn? mà nếu là 1 thì tại sao lại lãng phí bộ nhớ khi cần đến unsigned int thế nhỉ? biến A đó có thể được gán bằng giá trị khác trong chương trình không bạn? thanks bạn

明玉 viết 21:39 ngày 30/09/2018

Lãng phí cái gì ở đây
Chẳng có gán gì ở đây cả, nó gần như y hệt find and replace, như bạn kia nói, còn có thể viết kiểu:
#define for(i,x,y) for(i = x, i <= y, i++)
rồi bạn sử dụng cái for trên rồi thay 3 cái biến đó bằng bộ 3 biến hoặc giá trị nào đó tùy thích, IDE sẽ hiểu theo cái bên phải.

Bài liên quan
0