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ả

ESP8266 kết nối Internet - Phần 3: Arduino gặp Smartphone, hai đứa nói chuyện bằng JSON thông qua Socket

Ở bài trước, chúng ta đã biết được cách Arduino gửi dữ liệu và bị điều khiển bởi Socket Server. Hôm nay, chúng ta sẽ viết chương trình điều khiển trên Smartphone để điều khiển Arduino.

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

kMiniRouter - Kết nối Wifi từ cổng LAN cho máy tính nhúng Orange Pi, Raspberry Pi,...

Nhận thấy có rất nhiều bạn khó khăn khi mới bắt đầu với Orange Pi hay Raspberry Pi. Trong đó, vấn đề kết nối vào mạng wifi là vấn đề thường xuyên gặp phải. Nhất là trong các dự án yêu cầu phải thay đổi wifi thường xuyên. Nhận thấy vấn đề này, mình đã viết nên open source kMiniRouter để giúp các bạn kết nối mạng dễ dàng qua Wifi từ chính cổng LAN của máy tính nhúng.

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