http://vietjack.com/lap_trinh_c/index.jsp Copyright © vietjack.com Quy tắc phạm vi C Một phạm vi chương trình khu vực chương trình nơi biến định nghĩa tồn bên ngồi phạm vi biến khơng thể truy cập Có nơi mà biến khai báo Ngôn ngữ C: Bên hàm khối code gọi biến cục Bên tất hàm gọi biến toàn cục Trong định nghĩa hàm, tham số gọi tham số thức formal Bây tìm hiểu biến cục biến tồn cục tham số thức Biến cục C Biến cục khai báo bên hàm khai báo bên khối code Chúng sử dụng lệnh hàm khối code Biến cục khơng sử dụng bên ngồi hàm Dưới ví dụ việc sử dụng biến cục Tại biến a,b c sử dụng hàm main(): #include int main () { /* Khai bao bien cuc bo */ int a, b; int c; /* khoi tao thuc su */ a = 10; b = 20; c = a + b; printf ("Gia tri cua a = %d, b = %d va c = %d\n", a, b, c); return 0; } Biến toàn cục C Biến toàn cục định nghĩa bên hàm, thường phần đầu chương trình Biến tồn cục chứa giá trị thời gian chương trình chạy truy cập hàm định nghĩa chương trình Một biến tồn cục truy cập hàm Điều nghĩa biến tồn cục sử dụng suốt chương trình sau khai báo Dưới ví dụ minh họa cho biến cục toàn cục: #include /* Khai bao bien toan cuc */ int g; int main () { /* Khai bao bien cuc bo */ int a, b; /* khoi tao bien thuc su */ a = 10; b = 20; g = a + b; printf ("Gia tri cua a = %d, b = %d va g = %d\n", a, b, g); return 0; } http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/lap_trinh_c/index.jsp Copyright © vietjack.com Một chương trình có biến tồn cục cục trùng tên Trong trường hợp biến cục bên hàm ưu tiên sử dụng Dưới ví dụ: #include /* Khai bao bien toan cuc */ int g = 20; int main () { /* khai bao bien cuc bo */ int g = 10; printf ("Gia tri cua g = %d\n", g); printf("\n===========================\n"); printf("VietJack chuc cac ban hoc tot! \n"); return 0; } Khi chương trình C biên dịch chạy, kết sau in ra: Tham số thức C Tham số hàm, tham số thức coi biến local bên hàm thường có giá trị ưu tiên biến tồn cục Dưới ví dụ: #include /* khai bao bien toan cuc */ int a = 20; /* khai bao ham */ int hamtinhtong(int a, int b); int main () { /* khai bao bien cuc bo ham main */ int a = 15; int b = 25; int c = 0; printf ("Gia tri cua a ham main() = %d\n", a); c = hamtinhtong( a, b); printf ("Gia tri cua c ham main() = %d\n", c); printf("\n===========================\n"); printf("VietJack chuc cac ban hoc tot! \n"); return 0; } /* ham de cong hai so nguyen */ int hamtinhtong(int a, int b) { printf ("Gia tri cua a ham hamtinhtong() = %d\n", a); printf ("Gia tri cua b ham hamtinhtong() = %d\n", b); return a + b; } Khi chương trình C biên dịch chạy, kết sau in ra: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/lap_trinh_c/index.jsp Copyright © vietjack.com Khởi tạo biến toàn cục biến cục Khi biến toàn cục biến cục định nghĩa, khơng khởi tạo chương trình, phải khởi tạo thân bạn Biến tồn cục thường khởi tạo tự động chương trình bạn định nghĩa chúng đây: Kiểu liệu Giá trị khởi tạo mặc định int char '\0' float double pointer NULL Thường thực tế lập trình bạn nên khởi tạo giá trị biến cách xác, khơng chương trình bạn gây kết không mong muốn http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... biến tồn c c c c trùng tên Trong trường hợp biến c c bên hàm ưu tiên sử dụng Dưới ví dụ: #include /* Khai bao bien toan cuc */ int g = 20; int main () { /* khai bao bien cuc bo */ int... Copyright © vietjack.com Khởi tạo biến toàn c c biến c c Khi biến toàn c c biến c c định nghĩa, khơng khởi tạo chương trình, phải khởi tạo thân bạn Biến tồn c c thường khởi... tri cua g = %d ", g); printf(" =========================== "); printf("VietJack chuc cac ban hoc tot! "); return 0; } Khi chương trình C biên dịch chạy, kết sau in ra: Tham số th c C Tham