Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Phân biệt truyền biến bằng tham trị, tham chiếu, địa chỉ. Xin cảm ơn.

  1. #1
    Ngày gia nhập
    05 2011
    Bài viết
    18

    Question Phân biệt truyền biến bằng tham trị, tham chiếu, địa chỉ. Xin cảm ơn.

    Mình đang học lập trinh nhưng thật sự rất mơ hồ về những cách truyền biến này và không biết khi nào thì sử dụng cái nào. rất mong nhận được sự giúp đỡ của mọi người. cảm ơn nhìu nhìu rất nhìu.
    VD: phân biệt dùm mình khi nào thì dùng cách truyền như thế này và khi gọi hàm sẽ không bị lỗi:
    void swap1(int x,int y){}

    void swap2(int &x,int &y){}

    void swap3(int *x,int *y){}
    ...
    Xin cảm ơn rất nhìu!!

  2. #2
    Ngày gia nhập
    08 2011
    Bài viết
    117

  3. #3
    Ngày gia nhập
    06 2010
    Nơi ở
    Hà Nội
    Bài viết
    31

    1. Khi truyền giá trị của biến vào hàm(pass by value) thì function copy giá trị đó làm biến cục bộ(trên stack) ---> tốn bộ nhớ.
    --> Cách 2
    2. Truyền thẳng địa chỉ của biến vào hàm (pass by reference)---> đỡ tốn bộ nhớ và giá trị của biến có thể bị trực tiếp thay đổi.

    3.Cách thứ 3 thực ra là kết hợp của cách 1 và 2. Bạn dùng một con trỏ để thay đổi giá trị của biến mà nó trỏ đến mà nó trỏ đến(vì con trỏ nhận địa chỉ của biến - cách 2). Tuy nhiên con trỏ này là truyền tham trị, nên không thể thay đổi con trỏ được(cách 1).
    Hô Hô

Các đề tài tương tự

  1. Tham số, tham trị, tham biến. Ý nghĩa như thế nào trong lập trình C?
    Gửi bởi toend2008 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 28-08-2014, 10:24 AM
  2. Hàm trong C++ Tại sao biến truyền vào hàm tạo sao chép phải là tham chiếu ?
    Gửi bởi dehin trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 17-09-2012, 11:29 PM
  3. Kỹ thuật C++ Truyền tham biến hay tham trị?
    Gửi bởi vietanh_90 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 18
    Bài viết cuối: 16-10-2011, 10:45 PM
  4. Kỹ thuật C Cách truyền tham chiếu là mảng cho hàm
    Gửi bởi conrongchautien trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 28-04-2010, 11:09 PM
  5. Thắc mắc về truyền tham biến và tham trị .. và còn nữa ^^
    Gửi bởi without_you trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 04-02-2010, 08:46 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn