STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ

    Khai Báo và Định Nghĩa Hàm - Từ Khóa return

    Tìm hiểu về cách khai báo, định nghĩa hàm và sử dụng hàm trong C++.
    Ryan Lê

    Ryan

    26/01/2015
    20/09/2020
    3 phút đọc
    Khai Báo và Định Nghĩa Hàm - Từ Khóa return

    Khai báo hàm

    Thông thường hàm thực hiện việc tính toán trên các tham số và cho lại giá trị kết quả, hoặc chỉ thực hiện 1 chức năng nào đó mà không cần trả lại kết quả. Kiểu giá trị trả về này được gọi là kiểu của hàm.

    Hàm thường được khai báo ở đầu chương trình, cách để khai báo 1 hàm như sau:

    <kiểu của hàm> <tên hàm>(danh sách tham số);

    Trong đó:

    • Kiểu của hàm: kiểu dữ liệu mà hàm trả về. Nếu không có giá trị trả về thì kiểu của hàm là void.
    • Tên hàm: tên của hàm, do người lập trình đặt. Tên hàm không được chứa ký tự đặt biệt, không được bắt đầu bằng số.
    • Danh sách tham số: danh sách các tham số dùng như các biến cục bộ. Nếu có nhiều tham số, thì chúng sẽ được phân tách theo các dấu phẩy.

    Ví dụ

    int test(int);      // Hàm test có tham số kiểu int và kiểu hàm là int
    int rand();         // Không tham số, kiểu hàm (giá trị trả lại) là int
    void write(float);  // Hàm không trả lại giá trị (kiểu void).
    

    Định nghĩa hàm

    Cấu trúc 1 hàm bất kỳ được bố trí cũng giống như hàm main(), cụ thể:

    <kiểu hàm> <tên hàm>(danh sách tham số)
    {
          dãy lệnh của hàm;
          return (biểu thức trả về); // Có thể nằm đâu đó trong dãy lệnh.
    }

    Trong đó return là để truyền dữ liệu cho nơi gọi hàm. Câu lệnh return bắt buộc là phải có đối với hàm có giá trị trả về. Và có thể có hoặc không  đối với hàm không có giá trị trả về (có kiểu trả về là void).

    Đối với hàm có giá trị trả về thì kèm theo sau return là 1 biểu thức. Kiểu giá trị của biểu thức này chính là kiểu của hàm. Tuỳ theo mục đích của hàm mà lập trình viên có thể đặt return bất cứ đâu trong dấu {} ở trên.

    Khi gặp return chương trình tức thoát khỏi hàm và trả lại giá trị biểu thức sau return. Có thể có nhiều câu lệnh return trong hàm.

    Ví dụ

    int sum(int a, int b)
    {
          return (a + b);
    }

    Ví dụ trên định nghĩa hàm  tính tổng 2 số nguyên (kiểu int), hàm này có 2 tham số truyền vào (số nguyên a và số nguyên b) và giá trị trả về là số nguyên a + b.

    Ví dụ

    int getMax(int a, int b)
    {
          if(a > b) return a;
          else return b;
    }

    Ví dụ trên định nghĩa hàm tìm số lớn nhất từ 2 tham số truyền vào ab. Nếu a lớn hơn b thì trả về giá trị là a (return a), ngược lại sẽ trả về giá trị b (return b).

    1 ví dụ về hàm không có giá trị trả về:

    void printNumber(int a)
    {
          std::cout << a;
    }

    Hàm trên thực hiện công việc in 1 số nguyên (được truyền vào) ra màn hình console. Không có kiểu trả về nên không cần return.

    Lưu ý: danh sách tham số trong khai báo hàm có thể có hoặc không tên của biến, thông thường chỉ cần khai báo kiểu dữ liệu của tham số chứ không cần khai báo tên của biến. Trong khi trong định nghĩa hàm thì phải có đầy đủ.

    Ví dụ

    //Khai báo hàm
    int sum(int, int); //không cần tên biến
    int sum(int a, int b); //có tên biến
    
    //Định nghĩa hàm
    int sum(int a, int b)  // có tên biến
    {
          return (a + b);
    }

    Giải thích:

    • Cuối khai báo hàm phải có dấu chấm phẩy ;, trong khi cuối dòng đầu tiên của định nghĩa hàm không có dấu chấm phẩy.
    • Hàm có thể không có tham số (danh sách tham số rỗng), tuy nhiên cặp dấu ngoặc sau tên hàm vẫn phải được viết.
    0 Bình luận
    Modern C++

    Modern C++

    STDIO Training - Đào Tạo Lập Trình C++.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021