06/04/2021, 14:47

Biến và hằng số trong C - Học lập trình C căn bản & nâng cao

Trong bài này chúng ta sẽ tìm hiểu cách khai báo biến và hằng số trong C, sự khác nhau giữa biến và hằng, và khi nào thì nên sử dụng chúng. Ở các bài trước mình có đưa ra một số ví dụ và có sử dụng biến trong đó, và mục đích mình muốn bạn xem kết quả thôi nên không giải thích nhiều. Kể từ bài này ...

Trong bài này chúng ta sẽ tìm hiểu cách khai báo biến và hằng số trong C, sự khác nhau giữa biến và hằng, và khi nào thì nên sử dụng chúng.

Ở các bài trước mình có đưa ra một số ví dụ và có sử dụng biến trong đó, và mục đích mình muốn bạn xem kết quả thôi nên không giải thích nhiều. Kể từ bài này bạn sẽ được hướng dẫn chi tiết hơn.

1. Khai báo biến trong C

Trong lập trình thì biến dùng để lưu trữ dữ liệu, nó có thể lưu một chuỗi, một số, một mảng, hay thậm chí là một đối tượng.

Bản chất biến không lưu trữ nội dung của dữ liệu mà nó lưu trữ địa chỉ ô nhớ mà dữ liệu đang được lưu trữ. Vì vậy, khi bạn truy xuất nội dung của biến thì máy tính sẽ dựa vào địa chỉ để lấy đúng dữ liệu.

Cú pháp như sau:

variable_type variable_name;

Trong đó:

  • variable_type là kiểu dữ liệu của biến
  • variable_name là tên của biến.

Về danh sách kiểu dữ liệu trong C mình sẽ nói ở bài tiếp theo, bài này ta chỉ tạm thời học về cách khai báo biến thôi nhé.

Ví dụ 1: Khai báo biến lưu trữ điểm số của game thủ

int playerScore;

Bạn cũng có thể gán dữ liệu ngay lúc khai báo biến.

int playerScore = 95;

Ví dụ 2: Khai báo biến kiểu char.

char ch;

Hoặc gán dữ liệu lúc khai báo.

char ch = 'a';

2. Quy tắc khai báo biến trong C

Đặt tên biến cũng phải đúng quy tắc nhé các bạn. Như trong bài từ khóa trong C mình có nói là không được sử dụng những từ khóa này để đặt tên biến, và đó chính là quy tắc mà bạn phải tuân thủ.

Sau đây là một số rules:

  • Tên biến chỉ có thể có các chữ cái (cả chữ hoa và chữ thường), chữ số và dấu gạch dưới.
  • Chữ cái đầu tiên của một biến phải là một chữ cái hoặc một dấu gạch dưới.
  • Không có quy tắc nào nói về độ dài của tên biến. Tuy nhiên, bạn có thể gặp sự cố trong một số trình biên dịch nếu tên biến dài hơn 31 ký tự.

Ví dụ: Một số cách đặt tên biến đúng và sai.

char &firstName; // Sai vì ký tự đặc biệt 
char 6fistName; // Sai vì chữ cái đầu tiên
char first Name; // Sai vì có khoảng trắng
char firstName; // Đúng
char _firstName; // Đúng
char first_Name; // Đúng

Một số lợi khuyên khi đặt tên biến:

  • Nên đặt tên biến có ý nghĩa, không quá rút gọn bởi sau này sẽ khó xem lại code. Ví dụ đặt firstName tốt hơn là fn.
  • Không nên sử dụng chữ cái khi đặt tên biến, trừ một số trường hợp các biến có chức năng gần giống nhau và cần tạo ra sự khác biệt.

C là ngôn ngữ có quy tắc rất cao, vì vậy tên biến sau khi đặt là không thể thay đổi. Đương nhiên về giá trị mà biến lưu trữ có thể thay đổi được.

Ngoài ra dữ liệu gán cho biến phải đúng với kiểu dữ liệu mà bạn đã khai báo, nếu không cũng sẽ bị lỗi. Xem ví dụ dưới đây:

int number = 5;      // integer variable
number = 5.5;        // error
double number;       // error

Như bạn thấy, biến number có kiểu số nguyên (interger), nhưng bạn đang gán một kiểu số thực (float) nên sẽ bị lỗi không đồng bộ dữ liệu với biến.

3. Hằng số trong C

Hằng (Const) thực chất là một biến, nhưng điểm khác duy nhất là bạn phải gán giá trị cho hằng ngay lúc khai báo, và sau này bạn không thể thay đổi giá trị của hằng.

Chúng ta thường sử dụng hằng số để lưu trữ những loại dữ liệu có tính cố định. Ví dụ PI có giá trị là 3.14 là có định rồi nên ta sẽ sử dụng hằng để khai báo cho nó.

const double PI = 3.14;

double là kiểu số thực nhé các bạn!

Bây giờ mình thử thay đổi giá trị cho PI xem thế nào nhé.

const double PI = 3.14;
PI = 2.9; //Error

Sẽ bị lỗi ngay, vì PI là hằng số nên không được gán dữ liệu sau khi đã khai báo.

* Lời khuyên: Khi đặt tên cho hằng số bạn nên đặt chữ hoa toàn bộ nhé, điều này sẽ giúp ta phân biệt được đâu là hằng, đâu là biến.

Như vậy là mình đã hướng dẫn xong cách sử dụng biến và hằng số trong C, đây là kiến thức căn bản nên bạn cần phải hiểu rõ nhé. Bài tiếp theo mình sẽ nói về các kiểu dữ liệu trong C để bạn hiểu rõ hơn.

Hoàng Hải Đăng

24 chủ đề

7226 bài viết

Cùng chủ đề
0