Danh mục

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

Số trang: 20      Loại file: pdf      Dung lượng: 94.02 KB      Lượt xem: 18      Lượt tải: 0    
Hoai.2512

Phí tải xuống: 10,000 VND Tải xuống file đầy đủ (20 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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.
Nội dung trích xuất từ tài liệu:
Bài 9 - Biến cục bộ và biến toàn cụcBài 9BI N C C B VÀ BI N TOÀN C CKhai Báo Hàm Khai báo m t hàmKi u tr v Tên hàm (ki u tham s , ki u tham s ....); Tham s là tùy ch nT 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.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.Thân hàm là n i v i ph n còn l i c achương trình và vì v y chúng không nhhư 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ácv i d li u và mã c a hàm khác vì hai hàmcó t m v c khác nhau.Các bi n ư c khai báo bên trong m t hàmkhông nh h ong n bi n trong m t hàmkhác, ngay c khi chúng có tên trùng nhau.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 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; coutBi 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 :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; countCá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)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 jint main() ư c gán 100*/{ }int i;int *p;p = &i; // p tr i có th thay f(&i)f(p);cout 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)3void cube(int *n, int num){ while(num) { *n = *n * *n * *n; num--; n++; }}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.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 trki u ký t . M i con tr trong m ng ch d n m t chu i ch a m ttham 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 th2,...T t c các tham s dòng l nh ư c chuy n vào chương trìnhdư i d ng chu i, như v y các tham s là con s s ph i ư cchuy n i bên trong chương trình.#include using namespace std;int main(int argc, char *argv[]){if(argc!=2) {cout #include #include using namespace std;int main(int argc, char *argv[]){double a, b;if(argc!=3) {cout 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á trví 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 while(*p2 && *p2==*p) {int find_substr(char *sub, char *str) p++;{ p2++;int t; }char *p, *p2; if(!*p2) return t; // return indexfor(t=0; str[t]; t++) { }p = &str[t]; return -1; // không cóp2 = sub; } ...

Tài liệu được xem nhiều: