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ả

analogRead()

Nhiệm vụ của analogRead() là đọc giá trị điện áp từ một chân Analog. Trên mạch Arduino UNO có 6 chân Analog In, được kí hiệu từ A0 đến A5. Trên các mạch khác cũng có những chân tương tự như vậy với tiền tố "A" đứng đầu, sau đó là số hiệu của chân.

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

kLaserCutter - Tự làm máy cắt laser bằng mã nguồn người Việt - Phần 1: "In" máy cắt của chính bạn

Tớ là một người rất thích bộ môn nghệ thuật Kirigami – cắt giấy. Tuy nhiên, tớ không phải là một người khéo tay và thường xuyên cắt phạm giấy hoặc bị thương. Nhưng không vì thế mà khiến tớ bỏ qua bộ môn nghệ thuật đòi hỏi sự sáng tạo này. Các bạn thấy đấy, tớ đã đặt mục tiêu xây dựng chiếc máy cắt laser dưới 1 triệu đồng và đã hoàn thiện được nó. Tuy nhiên, trong phiên bản đó, vẫn có những điều tớ chưa hài lòng và cuối cùng những điều đó đã được khắc phục trong phiên bản máy cắt laser mã nguồn và phần cứng mở kLaserCutter - dự án phần cứng cùng với phần mềm mở đầu tiên ở Việt Nam.

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