Thứ Tư, 10 tháng 4, 2024

21.Tham số-Parameter và Đối số-Argument

Đôi khi bạn sẽ thấy nhiều bài phân biệt Đối số (argument) và Tham số (parameter).

Nó cũng giống như chúng ta đã nói về Phiên dịch và Biên dịch trước đây, cá nhân chúng tôi cho rằng cứ giữ nguyên parameter và argument thì sẽ dễ hơn.

Nhắc lại , đây là Cú Pháp  của Hàm trong C:

data_type function_name(type1 parameter1, type2 parameter2...){
    //code
}

Trong đó:

    data_type : Kiểu trả về của hàm, có thể là các kiểu dữ liệu như int, long long, float, char, double, hoặc void (tương ứng với kiểu trả về là rỗng)
    function_name : Tên của hàm, cần tuân theo quy tắc như đặt tên biến
    parameter : Tham số của hàm, đây được coi như đầu vào của hàm. Bạn có thể xây dựng bao nhiêu tham số tùy ý và lựa chọn kiểu dữ liệu cho từng tham số.
    code : Các câu lệnh bên trong của hàm 

Khi viết một hàm, nếu cần thiết  ta có thể sử dụng một hoặc nhiều parameter (các parameter là tùy chọn; có nghĩa là, một hàm có thể không chứa parameter.)

Trong hàm tinhTong ở phần trước, int a, int b, int c là 3 tham số của hàm. Các tham số (parameter) này chưa được gán bất cứ giá trị nào.

Khi ta gọi hàm, ta truyền giá trị của các biến so4, so5, so6 cho 3 tham số trên, lúc này so4, so5, so6 được gọi là argument.

Đơn giản vậy thôi, chỉ xin lưu ý : Kiểu dữ liệu của Argument và Parameter nên trùng nhau hoặc của Parameter nên là kiểu dữ liệu lớn hơn kiểu dữ liệu của Argument. Ví dụ bạn xây dựng 1 hàm có tham số là long long thì nó có thể áp dụng với 1 số int nhưng ngược lại thì không.

Đôi khi ta xây dựng một hàm và cần hàm trả về một kết quả và ta sẽ sử dụng kết quả đó cho một hành động khác trong chương trình. Ví dụ bạn cần tính tổng thu nhập của một thành phố, một địa phương...và sử dụng kết quả để tính bình quân thu nhập.
Nhưng cũng có những khi chúng ta không cần kết quả trả về của hàm. Ví dụ ta tạo một hàm để in các dữ liệu từ nhiều nguồn lên màn hình, sau khi hàm in xong "nhiệm vụ cao cả" của nó coi như hoàn thành, nói cách khác những hàm như vậy kiểu trả về là void.

Khi hàm của bạn thực hiện các chức năng tính toán và mong muốn trả về 1 giá trị cụ thể thì bạn cần câu lệnh return, như trong hàm tinhTong ta dùng lệnh return sum;
Nếu hàm không trả về giá trị nào, ta cần khai báo kiểu của hàm là void. Ví dụ đây là một hàm void:

void tangGiaTri(int n){
    n += 100;
    printf("%d\n", n);
}


Phần tiếp theo

Phần trước

Không có nhận xét nào:

Đăng nhận xét