Lập Trình C: Lời Gọi Hàm (Call Function) | V1Study
Có thể bạn quan tâm
- Đào tạo Độ tuổi từ 5 - 11 Độ tuổi từ 12 - 17 Từ 18 tuổi
- Lập trình Python Lập trình C C++ Java C# - C Sharp Android Scratch Pascal Robot mBot
- Web ReactJS HTML5 CSS3 JavaScript Node.js JSP ASP.NET Core jQuery PHP
- FW-CMS Laravel AngularJS Flutter Magento Bootstrap VueJS CodeIgnitor WordPress Sass Drupal
- Video Video Python Video Lập trình C Video C# Video Java Video HTML5-CSS3-JavaScript Video SQL Server Video PHP Video jQuery Video Android Video C++ Video Scratch
- Video1 Video XML-JSON Video MySQL Video Excel Video Giải thuật và Lập trình Video Sức khỏe Video Drupal Video mBot Video Giáo dục - Khoa học
- Other Unity Giải thuật và lập trình Giải thuật và lập trình - C CCNA Mạng máy tính Design Patterns English Facebook SEO Git Tin học đại cương Japanese App-Uti Download
- Data SQL Server XML JSON MySQL
- News
Các hàm thường giao tiếp hay gọi đến nhau bằng lời gọi hàm (call function). Việc giao tiếp 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 cách sau đây:
Truyền bằng tham trị (hay giá trị)
Ý nghĩa: Đây là lời gọi hàm mà trong đó đối số thực sự không thay đổi giá trị sau khi hàm được gọi thực hiện xong công việc. Truyền bằng tham trị là lời gọi mặc định của các chương trình C.
Truyền bằng tham chiếu (hay tham biến)
* Bản chất của truyền bằng tham chiếu là truyền địa chỉ của biến.
* Ý nghĩa: cách gọi hàm bằng truyền tham chiếu có thể làm thay đổi giá trị của đối số thực sự. Việc truyền tham chiếu được thực hiện thông qua biện pháp con trỏ.
Cú pháp:
Kiểu_dữ_liệu Tên_hàm(Kiểu _dữ_liệu *Tên_con_trỏ_1, Kiểu_dữ_liệu *Tên_con_trỏ_2,…) { Khối_lệnh; } void main() { Kiểu_dữ_liệu Biến_1; Kiểu_dữ_liệu Biến_2; … Tên_hàm(&Biến_1,&Biến_2,…); … }Ví dụ:
Ví dụ 1: Viết một hàm có nhiệm vụ hoán đổi giá trị của hai số x và y cho nhau với x và y nhập vào từ bàn phím.
+ Nếu không dùng phương pháp tham chiếu thì chương trình sẽ không thực hiện được mục đích, tức là hai số x và y vẫn giữ nguyên giá trị sau lời gọi hàm. Chương trình được viết như sau:
#include<stdio.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 = y } int main() { float x, y; printf("Nhap 2 so x, y: "); scanf("%f %f",&x,&y); hoanVi(x, y); printf("\nSau khi tien hanh doi, ta duoc: x=%f va y=%f", x, y); return 0; }+ Nếu dùng phương pháp tham chiếu thì chương trình sẽ thực hiện được mục đích, x và y sẽ hoán đổi giá trị cho nhau. Chương trình được viết như sau:
#include<stdio.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 = *y } int main() { float x, y; printf("\nNhap 2 so x, y: "); scanf("%f %f", &x, &y); DoiGT(&x,&y); printf("\nSau khi tien hanh hoan vi, ta duoc: x=%g va y=%g", x, y); return 0; }Kết quả:
Ví dụ 2: Viết chương trình nhập vào 3 giá trị kiểu thực (float hoặc double), sau đó tìm giá trị lớn nhất trong 3 giá trị đó. Yêu cầu:
· Phải viết chương trình dưới dạng các hàm.
· Không được sử dụng các biến tổng thể (biến toàn cục).
+ Theo yêu cầu trên thì ta phải có 3 biến để lưu 3 giá trị muốn so sánh và các biến này phải là các biến địa phương khai báo trong các hàm. Vì hàm main() là hàm chính của chương trình nên ta sẽ khai báo các biến trong hàm main(), và vì chương trình được viết dưới dạng các hàm nên ta khai báo thêm các con trỏ ứng với các biến đó.
+ Chương trình được viết như sau:
#include<stdio.h> void nhap(float *a, float *b, float *c) { //hàm nhập các số a, b và c printf("\nNhap a: "); scanf("%f", a); printf("\nNhap b: "); scanf("%f", b); printf("\nNhap c: "); scanf("%f", c); } float sosanh(float a, float b, float c) { //hàm tìm giá trị lớn nhất float max; //biến lưu lại giá trị lớn nhất max = a; //giả sử a là số lớn nhất if(max < b) //nếu b lớn hơn max max = b; //thì gán b cho max if(max < c) //nếu c lớn hơn max max = c; //thì gán c cho max return max; //trả lại giá trị lớn nhất lưu trong biến max } int 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á trị lớn nhất nhap(&a,&b,&c); //Gọi hàm nhap() truyền đối số ở dạng tham chiếu max=sosanh(a,b,c); //Gọi và gán giá trị trả về của hàm sosanh() cho biến max printf("\nSo lon nhat trong 3 so nhap vao la: %g", max); return 0; }Kết quả:
Chú ý: Mọi hàm nhập giá trị cho các biến địa phương (cục bộ) đều được truyền theo phương pháp tham chiếu theo mẫu chương trình như trên.
» Tiếp: Biến tổng thể và biến cục bộ « Trước: Hàm (Function) Khóa học qua video: Lập trình Python All Lập trình C# All SQL Server All Lập trình C Java PHP HTML5-CSS3-JavaScript Đăng ký Hội viên Tất cả các video dành cho hội viên Khóa học qua video: Lập trình Python All Lập trình C# All SQL Server All Lập trình C Java PHP HTML5-CSS3-JavaScript Đăng ký Hội viên Tất cả các video dành cho hội viên Copied !!! Copy linkCopied link!Bạn muốn tìm kiếm điều gì?
Từ khóa » Cách Viết Hàm Main Trong C++
-
Hàm Main Trong C++ Là Gì
-
Hàm Main Trong C
-
Cách Viết Hàm Và Cách Gọi Hàm Trong C++ (function) - Freetuts
-
Khai Báo Thư Viện Và Hàm Main Trong C++ - Freetuts
-
Hàm Trong C++ - Học Lập Trình C++ Online - VietTuts
-
1.7. Chia Nhỏ Chương Trình Thành Các Hàm - Lập Trình Tân Binh
-
Khái Niệm Thư Viện Và Hàm Main Trong C++ - Sửa Máy Nhanh
-
Hàm Trong C/C++
-
Lập Trình C++ - Hàm Trong C++
-
[Lập Trình C++ Cơ Bản] Bài 6: Hàm Trong C++ - Viblo
-
Hàm Trong C++, Cú Pháp Và Cách Sử Dụng - Thủ Thuật
-
[Tự Học Lập Trình C] Chương Trình Con Và Hàm
-
[Tự Học C++] Tìm Hiểu Về Tham Số Và đối Số Trong Hàm | TopDev
-
Kiến Thức Cơ Bản Cần Nắm Khi Bắt Đầu Học C++ - CodeLearn