#define

Giới thiệu

#define là một đối tượng của ngôn ngữ C/C++ cho phép bạn đặt tên cho một hằng số nguyên hay hằng số thực. Trước khi biên dịch, trình biên dịch sẽ thay thế những tên hằng bạn đang sử dụng bằng chính giá trị của chúng. Quá trình thay thế này được gọi là quá trình tiền biên dịch (pre-compile).

Cú pháp

#define [tên hằng] [giá trị của hằng]

Ví dụ

#define pi 3.14

Nếu bạn viết code thế này ...

#define pi 3.14
float a = pi * 2.0;  //    pi = 6.28

thì sau khi pre-compile trước khi biên dịch, chương trình của bạn sẽ như thế này:

#define pi 3.14
float a = 3.14 * 2.0;  //   a = 6.28

Chú ý

Nếu một biến có tên trùng với tên hằng số được khai báo bằng #define thì khi pre-comile, cái biến ấy sẽ bị thay thế bằng giá trị của hằng số kia. Hệ quả tất yếu là khi biên dịch, chương trình của bạn sẽ bị lỗi cú pháp (bạn sẽ không dễ dàng nhận ra điều này). Đôi khi nó cũng dẫn đến lỗi logic - một lỗi rất khó sửa !

Nếu bạn viết thế này...

#define pi 3.14
float pi = 3.141592654;

thì sau khi pre-compile trước khi biên dịch, bạn sẽ được thế này:

#define pi 3.14
float 3.14 = 3.141592654;     //   lỗi cú pháp

Vì vậy, bạn nên hạn chế tối đa việc sử dụng #define để khai báo hằng số khi không cần thiết. Bạn có thể sử dụng cách khai báo sau để thay thế:

const float pi = 3.14;

 

Reference Tags: 
lên
12 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Bài 5: Tải chương trình mẫu lên Intel Galileo

Khi học bất kì một ngôn ngữ nào, từ ngôn ngữ của con người đến ngôn ngữ của máy móc thì thứ đầu tiên bạn được học đó là cách nói "Xin chào". Với máy móc (phần mềm), người ta gọi đó là chương trình "Hello World" - một chương trình có nhiệm vụ xuất ra màn hình (hoặc thông báo) với nội dung là "Hello World". Với phần cứng, ta có chương trình "Blink" - nó làm nhấp nháy một đèn LED với chu kì 1 giây, hay những thứ khác tương tự như vậy. Bài viết này sẽ hướng dẫn cho bạn làm việc này trên Intel Galileo

lên
4 thành viên đã đánh giá bài viết này hữu ích.

Transistor (BJT) và ứng dụng trong điều khiển động cơ DC

Trong điện tử, transistor (transfer-resistor) là một linh kiện bán dẫn. Khi hoạt động trong mạch điện, transistor có vai trò như một cái van cách li hay điều khiển dòng điện, điện áp trong mạch. Từ vai trò này, transistor được ứng dụng rộng rãi. Trong bài viết này, tôi chỉ trình bày những khía cạnh cơ bản và đơn giản nhất của transistor, phù hợp với nhu cầu kiến thức của người dùng Arduino. Một số thuật ngữ, cách giải thích về transistor cũng được tôi cố gắng tinh giảm để phù hợp với đối tượng người dùng Arduino hơn so với người chuyên về điện tử. 

lên
37 thành viên đã đánh giá bài viết này hữu ích.