Trong bài này, chúng ta sẽ tìm hiểu về cách khai báo biến cục bộ và biến toàn cục trong ngôn ngữ C, cũng như phạm vi hoạt động của chúng. Bài viết sẽ giúp bạn làm quen với cách khai báo biến và thực hiện một số bài tập liên quan.
Đây là những kỹ năng cơ bản và quan trọng khi học lập trình, hãy chú ý ghi nhớ các đặc tính của chúng.
Biến là gì?
Biến là một vùng nhớ được sử dụng để lưu trữ giá trị dữ liệu trong quá trình thực thi của chương trình. Giá trị của biến có thể thay đổi bất kỳ lúc nào trong quá trình chạy.
Cú pháp khai báo biến: <kiểu dữ liệu><dấu cách><tên biến>;
Ví dụ:
int a;
float b;
Bạn có thể gán giá trị ban đầu cho biến khi khai báo. Ví dụ:
int a = 100; // khai báo biến a có giá trị kiểu số nguyên là 100
float b = 0.1; // khai báo biến b có giá trị kiểu số thực là 0.1
char c = ‘A’; // khai báo biến c có giá trị là ký tự ‘A’
string s = “Xin chào bạn”;// khai báo biến s có giá trị là chuỗi ký tự “Xin chào bạn”
Trong ngôn ngữ C, có 3 loại biến cơ bản:
- Biến cục bộ
- Biến toàn cục
- Các biến đặc biệt như static, volatile, register …
Khai báo biến cục bộ và tính chất của chúng
Biến cục bộ là các biến được khai báo trong một hàm cụ thể. Biến đó chỉ tồn tại và có thể sử dụng trong phạm vi của hàm đó. Biến cục bộ được cấp phát khi hàm được gọi và bị giải phóng khi hàm kết thúc thực thi.
Các biến cục bộ có cùng tên trong các hàm khác nhau vẫn có thể sử dụng một cách riêng biệt. Ví dụ: có hai người tên là Hương, một người ở nhà A và một người ở nhà B, thì hai người này hoàn toàn khác nhau. Tuy nhiên, nếu có hai người Hương trong cùng một nhà A, thì sẽ xảy ra mâu thuẫn.
#include <stdio.h>
void nha_a(void) {
int a; // biến cục bộ sẽ bị giải phóng khi hàm kết thúc
a = 100;
printf("a của nhà A = %dn", a);
}
void nha_b(void) {
int a; // biến cục bộ sẽ bị giải phóng khi hàm kết thúc
a = 200;
printf("a của nhà B = %dn", a);
}
int main() {
nha_a();
nha_b();
return 0;
}
Kết quả
Khai báo biến toàn cục và tính chất của chúng
Biến toàn cục là biến được khai báo bên ngoài hàm và có thể truy cập và sử dụng trong mọi hàm trong chương trình. Biến toàn cục được cấp phát bộ nhớ khi chương trình bắt đầu chạy và bị giải phóng khi chương trình kết thúc.
Các biến toàn cục chỉ có thể sử dụng trong cùng một tệp tin .c, nếu muốn sử dụng trong tệp tin .c khác, chúng ta phải sử dụng từ khóa extern khi khai báo biến toàn cục.
Trong một chương trình C, bạn có thể khai báo biến toàn cục và biến cục bộ có cùng tên. Tuy nhiên, khi ở trong một hàm, hàm sẽ ưu tiên sử dụng biến cục bộ đã được khai báo.
#include <stdio.h>
int a = 5;
int cong(int x, int y) {
int a = x + y;
return a;
}
int main() {
int kq = cong(1, 2);
printf("Kết quả %d", kq);
return 0;
}
Kết quả
Kết
Biến toàn cục và biến cục bộ là hai khái niệm cơ bản khi khai báo biến trong ngôn ngữ C. Ngoài ra, còn có một số loại biến đặc biệt mà chúng ta sẽ tìm hiểu sau này. Hãy nhớ rõ các tính chất của biến để khai báo phù hợp. Một lời khuyên nhỏ là không nên đặt tên biến chỉ bằng một ký tự như a, b, c, d… mà hãy đặt tên cho biến để dễ hiểu và dễ quản lý. Hãy đọc bài viết về Clean code để hiểu rõ hơn về quy tắc đặt tên biến.
Ok, chúng ta đã hoàn thành bài 5 trong serie Học lập trình C từ A tới Z. Cùng chuyển sang bài tiếp theo nhé!
Đừng quên truy cập trang web LADEC để có thêm nhiều kiến thức bổ ích về lập trình.