intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài 9 - Biến cục bộ và biến toàn cục

Chia sẻ: Nguyễn Thị Phương Phương | Ngày: | Loại File: PDF | Số trang:20

64
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Một lời gọi hàm có thể làm cho 1 hay 2 điều xuất hiện. Nếu hàm đã được khai báo là inline thì thân của hàm được mở rộng tại điểm gọi nó trong lúc dịch, ngoài ra hàm sẽ được gọi trong lúc chạy. Một lời gọi hàm làm cho điều khiển của chương trình được chuyển cho hàm được gọi, việc thực hiện của hàm đang chạy lúc đó bị tạm ngừng.

Chủ đề:
Lưu

Nội dung Text: Bài 9 - Biến cục bộ và biến toàn cục

  1. Bài 9 BI N C C B VÀ BI N TOÀN C C
  2. Khai Báo Hàm Khai báo m t hàm Ki u tr v Tên hàm (ki u tham s , ki u tham s ....); Tham s là tùy ch n
  3. T mv c T m v c xác nh ph m vi mà m t bi n có th ư c truy xu t. T m v c cũng xác nh th i gian t n t i c a m t bi n Có ba lo i bi n: bi n c c b , tham s hình th c và bi n toàn c c.
  4. Bi n c c b Bi n ư c khai báo bên trong m t hàm ư c g i là bi n c c b C++ cũng cho phép khái ni m bi n c c b bên trong m t kh i mã. Bi n c c b ch có th ư c dùng bên trong kh i mã mà nó ư c khai báo. Bi n c c b bên trong m t kh i mã ch t n t i khi kh i mã ó ang th c thi Kh i mã ph bi n nh t là hàm.
  5. Thân hàm là n i v i ph n còn l i c a chương trình và vì v y chúng không nh hư ng hay b nh hư ng b i các ph n khác. D li u và mã c a hàm không th tương tác v i d li u và mã c a hàm khác vì hai hàm có t m v c khác nhau. Các bi n ư c khai báo bên trong m t hàm không nh h ong n bi n trong m t hàm khác, ngay c khi chúng có tên trùng nhau.
  6. ví d #include void f1() using namespace std; { void f1(); char str[80]; int main() cout > str; char str[] = "this is str in main()"; cout
  7. Khi m t bi n c c b trùng tên v i m t bi n bên ngoài kh i mã mà nó ư c khai báo thì bi n bên ngoài không b nh hư ng trong kh i mã ó. Ví d : int main() { int i=10, j =100; if (j>0) { int i; i = j/2; cout
  8. Bi n toàn c c Bi n toàn c c ư c khai báo bên ngoài các hàm Bi n toàn c c có nh hư ng toàn b chương trình, ngo i tr b ph quy t b i bi n c c b có cùng tên trong m t hàm. Ví d :
  9. void drill(); void drill() int count; // count and num_right are global { int num_right; int count, a, b, ans; int main() // Phát sinh s ng u nhiên gi a 0 và 99. { a = rand() % 100; cout > count; for(count=0; count
  10. Các tham s hình th c N u hàm dùng các tham s thì ph i khai báo các bi n nh n giá tr c a các tham s này. Các bi n này ư c g i là tham s hình th c. Các tham s hình th c tác ng như bi n c c b bên trong m t hàm. T m v c c a tham s là ph m vi trong hàm ch a nó. Ví d : test(int a, int b)
  11. G i hàm v i con tr #include void f(int *j) using namespace std; { void f(int *j); *j = 100; /*bi n ư c tr b i j int main() ư c gán 100*/ { } int i; int *p; p = &i; // p tr i có th thay f(&i) f(p); cout
  12. Vi t hàm có hai tham s cube(int *n, int m) tính m giá tr : (*n)3 (*n+1)3 (*n+2)3.......(*n+m-1)3
  13. void cube(int *n, int num) { while(num) { *n = *n * *n * *n; num--; n++; } }
  14. Tham s argc và argv Mu n truy n thông tin vào m t chương trình khi ch y nó, dùng các tham s dòng l nh truy n vào cho hàm main(). M t tham s dòng l nh là thông tin theo sau dòng l nh c a h i u hành. Ví d mu n biên d ch chương trình C++ t giao di n dòng l nh c a h i u hành, dùng cl tên chng trình C++ nh nghĩa hai tham s tùy ch n c a hàm main() là argc và argv, chúng nh n tham s dòng l nh.
  15. Tham s argc là m t s integer ch ra s tham s trên dòng l nh. Nó luôn có giá tr nh nh t là 1 (tham s tên c a chương trình) Tham s argv là m t con tr ch n m t m ng c a các con tr ki u ký t . M i con tr trong m ng ch d n m t chu i ch a m t tham s dòng l nh. Tên c a chương trình ư c tr b i argv[0], argv[1] ch n tham s th nh t và argv[2] ch n tham s th 2,... T t c các tham s dòng l nh ư c chuy n vào chương trình dư i d ng chu i, như v y các tham s là con s s ph i ư c chuy n i bên trong chương trình.
  16. #include using namespace std; int main(int argc, char *argv[]) { if(argc!=2) { cout
  17. #include #include using namespace std; int main(int argc, char *argv[]) { double a, b; if(argc!=3) { cout
  18. Câu l nh return Có hai ho t ng quan tr ng: Khi n cho th c thi trong m t hàm quay v chương trình g i nó ngay t c th i Có th ư c dùng tr v m t giá tr
  19. ví d #include using namespace std; int find_substr(char *sub, char *str); int main() { int index; index = find_substr("three", "one two three four"); cout
  20. while(*p2 && *p2==*p) { int find_substr(char *sub, char *str) p++; { p2++; int t; } char *p, *p2; if(!*p2) return t; // return index for(t=0; str[t]; t++) { } p = &str[t]; return -1; // không có p2 = sub; }
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2