const - biến hằng

Giới thiệu

Với một từ khóa "const" nằm trước một khai báo biến, bạn sẽ làm cho biến này thành một biến chỉ có thể đọc "read-only". Nếu bạn có "lỡ lầm" thay đổi giá trị của một biến hằng thì đừng lo lắng, chương trình dịch sẽ báo lỗi cho bạn!

Các biến có từ khóa const vẫn tuân theo phạm vi hiệu lực của biến. Ngoài cách sử dụng const để khai báo một biến hằng, ta còn có thể sử dụng #define để khai báo một hằng số hoặc hằng chuỗi. Tuy nhiên sử dụng const được ưa chuộng hơn trong lập trình, vì khả năng "tuân theo" phạm vi hiệu lực của biến! Còn #define hoạt động như thế nào thì bạn có thể xem thêm bài viết của có tại đây.

Ví dụ

const float pi = 3.14;
float x;

// ....

x = pi * 2;    // bạn có thể dụng hằng số pi trong tính toán - vì đơn giản bạn chỉ đọc nó

pi = 7;        // lỗi ! bạn không thể thay đổi giá trị của một hằng số

Dùng const hay dùng #define ?

Để khai báo một biến hằng số (nguyên / thực) hoặc hằng chuỗi thì bạn có thể dùng cả 2 cách đều được. Tuy nhiên, đẻ khai báo một biến mảng (array) là một hằng số bạn chỉ có thể sử dụng từ khóa const. Và đây là một lý do nữa khiến const được dùng nhiều và được ưa chuộng hơn #define!

lên
9 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ả

Xử lý chuỗi trong Arduino

Ngôn ngữ lập trình Arduino được xây dựng dựa trên ngôn ngữ C, điều đó có nghĩa là bạn có thể sử dụng các thư viện của ngôn ngữ C một cách dễ dàng cho việc lập trình. Trong đó có thư viện string.h để làm việc với chuỗi. Ngoải ra, Arduino còn hỗ trợ cả đối tượng  String của C++. Hãy khám phá ngay!

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

CCA - Kết quả vòng 2 - Lịch trình gửi board cho vòng 3

Sau khi chỉnh sửa ý tưởng, đã có nhiều đội thi thể hiện sự quyết tâm làm dự án đến cùng của mình. BTC rất khó để lựa chọn ra những đội nào sẽ nhận được board từ Quỹ Cộng đồng Arduino Việt Nam. Vì vậy, ngoài 5 nhóm sẽ nhận được bộ starter kit, BTC quyết định sẽ có 2 bạn (đã hoàn thành dự án) tham gia tranh tài để nhận giải thưởng đặc biệt từ Cộng đồng.

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