CÁCH GỌI HÀM TRONG C++

     

Các hàm thường tiếp xúc hay hotline đến nhau bằng lời gọi hàm (call function). Việc tiếp xúc hay gọi đến nhau của các hàm thông qua cách truyền tham số.Các tham số được truyền theo một trong hai giải pháp sau đây:
Ý nghĩa: Đây là lời gọi hàm mà trong những số ấy đối số thực thụ không biến hóa giá trị sau khi hàm được điện thoại tư vấn thực hiện ngừng công việc. Truyền bằng tham trị là lời call mặc định của những chương trình C.

Bạn đang xem: Cách gọi hàm trong c++


* bản chất của truyền bằng tham chiếu là truyền địa chỉ cửa hàng của biến.* Ý nghĩa: phương pháp gọi hàm bởi truyền tham chiếu có thể làm chuyển đổi giá trị của đối số thực sự. Vấn đề truyền tham chiếu được tiến hành thông qua phương án con trỏ.
Ví dụ 1: Viết một hàm có trách nhiệm hoán đổi quý hiếm của nhị số x cùng y cho nhau với x cùng y nhập vào từ bỏ bàn phím.

Xem thêm: Lý Thuyết Lịch Sử Bài 31 Lớp 10 Bài 31: Cách Mạng Tư Sản Pháp Cuối Thế Kỉ Xviii


+ nếu như không dùng phương thức tham chiếu thì lịch trình sẽ không tiến hành được mục đích, có nghĩa là hai số x và y vẫn giữ nguyên giá trị sau lời call hàm. Chương trình được viết như sau:#includestdio.h>void hoanVi(float x, float y) int z; z=x; //Cách khác: x=x+y; x=y; //y=x-y; //y= (x+y)-y = x y=z; //x=x-y; //x= (x+y)-x = yint main() float x, y; printf("Nhap 2 so x, y: "); scanf("%f %f",&x,&y); hoanVi(x, y); printf(" Sau lúc tien khô hanh doi, ta duoc: x=%f va y=%f", x, y); return 0;
+ nếu dùng cách thức tham chiếu thì chương trình sẽ thực hiện được mục đích, x cùng y sẽ hoán thay đổi giá trị cho nhau. Lịch trình được viết như sau:#includestdio.h>void DoiGT(float *x, float *y) int z; z=*x; //Cách khác: *x=*x+*y; *x=*y; //*y=*x-*y; //*y= (*x+*y)-*y = *x *y=z; //*x=*x-*y; //*x= (*x+*y)-*x = *yint main() float x, y; printf(" Nhap 2 so x, y: "); scanf("%f %f", &x, &y); DoiGT(&x,&y); printf(" Sau khi tien khô giòn hoan vi, ta duoc: x=%g va y=%g", x, y); return 0;
Kết quả:Ví dụ 2: Viết công tác nhập vào 3 quý giá kiểu thực (float hoặc double), kế tiếp tìm giá bán trị lớn số 1 trong 3 quý giá đó. Yêu cầu:


+ Theo yêu cầu trên thì ta phải gồm 3 vươn lên là để giữ 3 quý hiếm muốn so sánh và những biến này yêu cầu là những biến địa phương khai báo trong các hàm. Vày hàm main() là hàm chủ yếu của chương trình đề xuất ta sẽ khai báo các biến trong hàm main(), và vày chương trình được viết bên dưới dạng những hàm yêu cầu ta khai báo thêm các con trỏ ứng với các biến đó.

Xem thêm: Nguyên Tử Kali Có Số Lớp E Là, Nguyên Tử Kali (Z = 19) Có Số Lớp


+ chương trình được viết như sau:#includestdio.h>void nhap(float *a, float *b, float *c) //hàm nhp những s a, b và c printf(" Nhap a: "); scanf("%f", a); printf(" Nhap b: "); scanf("%f", b); printf(" Nhap c: "); scanf("%f", c);float sosanh(float a, float b, float c) //hàm tìm giá chỉ tr ln nht float max; //biến lưu li giá tr ln nht max = a; //gi s a là s ln nht if(max b) //nếu b ln hơn max max = b; //thì gán b cho max if(max c) //nếu c ln hơn max max = c; //thì gán c mang đến max return max; //tr li giá bán tr ln nht lưu vào biến maxint main() float a, b, c; //khai báo 3 biến a, b, c float max; //khai báo biến lưu tr giá chỉ tr ln nht nhap(&a,&b,&c); //Gi hàm nhap() truyn đi số ở dng tham chiếu max=sosanh(a,b,c); //Gi cùng gán giá chỉ tr tr v ca hàm sosanh() cho biến max printf(" So lon nhat vào 3 so nhap vao la: %g", max); return 0;
Kết quả:Chú ý: Mọi hàm nhập giá bán trị cho những biến địa phương (cục bộ) đều được truyền theo phương thức tham chiếu theo mẫu chương trình như trên.
Ezoicreport this adCác khóa đào tạo qua video:Lập trình C Java C# SQL server PHP HTML5-CSS3-JavaScript« Prev: lập trình sẵn C: Hàm (Function)