Quy tắc phạm vi trong lập trình C
Quy tắc phạm vi trong C là nội dung nhất định bạn cần phải biết khi tìm hiểu về ngôn ngữ lập trình này. Dưới đây là mọi điều bạn cần biết về quy tắc phạm vi trong C.
C là một trong ngôn ngữ lập trình lâu đời nhất hiện nay. Ra đời vào năm 1970, tính tới nay, C đã góp phần tạo nên hàng trăm nghìn web, ứng dụng trên thế giới. Điều đó cho thấy sức hút của C vẫn không hề thua kém so với các ngôn ngữ lập trình mới hiện nay.
Học lập trình bằng C không khó nếu bạn chịu khó dành thời gian tìm hiểu và luyện tập chăm chỉ. Bạn có thể tham khảo các bài học lập trình C cơ bản trên Quantrimang.com với những bài thực hành kèm đáp án cụ thể. Ở bài viết này, hãy cùng nhau tìm hiểu về quy tắc phạm vi trong C.
Như bạn đã biết, một phạm vi trong chương trình bất kỳ là một khu vực định nghĩa biến tồn tại. Nếu nằm ngoài phạm vi đó, biến không thể được truy cập. Ngôn ngữ lập trình C cung cấp 3 nơi khai báo biến, bao gồm:
- Bên trong một hàm hoặc một khối code được gọi là biến cục bộ.
- Bên ngoài tất cả các hàm và được gọi là biến toàn cục.
- Trong định nghĩa các hàm, các tham số được gọi là các tham số chính thức - formal.
Bây giờ chúng ta cùng tìm hiểu các biến cục bộ và biến toàn cục và các tham số chính thức là gì.
Biến cục bộ trong C
Biến cục bộ được khai báo bên trong một hàm hoặc khai báo bên trong một khối code. Chúng được sử dụng bởi các lệnh trong hàm hoặc khối code đó. Biến cục bộ không được sử dụng bên ngoài của hàm. Dưới đây là ví dụ về việc sử dụng biến cục bộ. Tại đây biến a,b và c được sử dụng trong hàm main():
#include <stdio.h> 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 trong C
Biến toàn cục được định nghĩa bên ngoài một hàm, thường là phần đầu của chương trình. Biến toàn cục có thể chứa các giá trị trong thời gian chương trình chạy và có thể được truy cập bởi bất kì hàm nào định nghĩa trong chương trình.
Một biến toàn cục có thể được truy cập bởi bất kì hàm nào. Điều đó nghĩa là biến toàn cục được sử dụng suốt chương trình sau khi nó khai báo. Dưới đây là ví dụ minh họa cho biến cục bộ và toàn cục:
#include <stdio.h> /* 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; }
Một chương trình có thể có biến toàn cục và cục bộ trùng tên. Trong trường hợp đó biến cục bộ bên trong hàm sẽ được ưu tiên sử dụng. Dưới đây là ví dụ:
#include <stdio.h> /* 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("QTM chuc cac ban hoc tot! \n"); return 0; }
Chạy chương trình C trên để biên dịch và chạy để xem kết quả:
Tham số chính thức trong C
Tham số hàm, tham số chính thức được coi như biến local bên trong hàm đó và thường có giá trị ưu tiên hơn biến toàn cục. Dưới đây là ví dụ:
#include <stdio.h> /* khai bao bien toan cuc */ int a = 20; /* khai bao ham */ int hamtinhtong(int a, int b); int main () { /* khai bao bien cuc bo trong ham main */ int a = 15; int b = 25; int c = 0; printf ("Gia tri cua a trong ham main() = %d\n", a); c = hamtinhtong( a, b); printf ("Gia tri cua c trong ham main() = %d\n", c); printf("\n===========================\n"); printf("QTM 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 trong ham hamtinhtong() = %d\n", a); printf ("Gia tri cua b trong ham hamtinhtong() = %d\n", b); return a + b; }
Chạy chương trình C trên để biên dịch và chạy để xem kết quả:
Khởi tạo biến toàn cục và biến cục bộ
Khi biến toàn cục và biến cục bộ được định nghĩa, nó không được khởi tạo bởi chương trình, nó phải khởi tạo bởi chính bản thân bạn. Biến toàn cục thường khởi tạo tự động bởi chương trình khi bạn định nghĩa chúng như dưới đây:
Kiểu dữ liệu | Giá trị khởi tạo mặc định |
---|---|
int | 0 |
char | '\0' |
float | 0 |
double | 0 |
pointer | NULL |
Thường trong thực tế lập trình bạn nên khởi tạo các giá trị biến một cách chính xác, nếu không chương trình của bạn có thể gây ra những kết quả không mong muốn .
Theo Tutorialspoint
Bài trước: Hàm trong lập trình C
Bài tiếp: Mảng trong Ngôn ngữ C
Các hàm trong C
abort()
abs()
atexit()
atof()
atoi()
atol()
bsearch()
calloc()
clearerr()
ldiv()
exit()
fclose()
feof()
ferror()
fflush()
fgetc()
fgetpos()
fgets()
fopen()
fprintf()
fputc()
fputs()
fread()
free()
freopen()
fscanf()
fseek()
fsetpos()
ftell()
fwrite()
getc()
getchar()
getenv()
gets()
labs()
labs()
malloc()
mblen()
mbstowcs()
mbtowc()
memchr()
memcmp()
memcpy()
memset()
perror()
printf()
putc()
putchar()
puts()
qsort()
raise()
realloc()
remove()
rename()
rewind()
scanf()
setbuf()
setvbuf()
signal()
sprintf()
srand()
sscanf()
strchr()
strcmp()
strcoll()
strcpy()
strcspn()
strerror()
strlen()
strncat()
strncmp()
strncat()
strncpy()
strpbrk()
strrchr()
strspn()
strstr()
strtod()
strtok()
strtol()
strtod()
strtoul()
strxfrm()
system()
tmpfile()
tmpnam()
ungetc()
vfprintf()
vsprintf()
wcstombs()
wctomb()
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

- Code NgầuThích · Phản hồi · 0 · 01/07/20

Cũ vẫn chất
-
Cách cấu hình địa chỉ IP tĩnh trên Ubuntu 22.04 LTS và 22.10
Hôm qua -
6 công cụ sáng tác nhạc và lời bài hát miễn phí với sự trợ giúp của AI
Hôm qua -
Hướng dẫn chèn caption cho ảnh trong Word
Hôm qua -
Cách tìm lại bình luận trên YouTube rất đơn giản
Hôm qua -
Cách bật, tắt macro trên Excel
Hôm qua -
7 tác động tiêu cực của mạng xã hội đối với người dùng
Hôm qua -
Cách ẩn trò chơi bạn đang chơi trên Discord
Hôm qua -
9 khác biệt chính giữa ChatGPT và Chatbot AI của Bing
Hôm qua -
Top 5 ngôn ngữ lập trình tốt nhất cho trẻ em hiện nay
Hôm qua -
Cách kiểm tra lượt view Story Instagram nổi bật
Hôm qua