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ả

Vấn đề năng lượng cho board Intel Edison với Mini breakout

Yay, sau khi đọc bài viết giới thiệu về Intel Edison, mình cảm thấy rất phấn khích. Nhóm của mình cũng đang chuẩn bị làm một dự án với Intel Edison trong đó có vấn đề về việc xử dụng pin, qua bài viết này mình sẽ giúp các bạn có một cái nhìn rõ hơn về vấn đề pin với Intel Edison.

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

CCA - Vòng 2 chính thức bắt đầu

Như vậy là đại diện BQT đã gửi mail thông báo đến đại diện của tất cả 15 ý tưởng của cuộc thi Creative Contest with Arduino.VN - Cuộc thi Sáng tạo với Arduino.vn (CCA). Hôm nay là ngày 12/01/2016. Các bạn còn chần chừ gì nữa mà không chỉnh sửa để nâng cấp dự án của mình, từ đó đăng ký lại dự án tại link trong mail mà BTC gửi chứ cheeky

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