01/10/2018, 08:21
Hỏi về truyền tham chiếu trong C
Mọi người cho em hỏi là tại sao ở hàm nhập lại có int &n còn ở hàm hàm xuat và hàm lonnhat thì chỉ là int n với ạ?

Bài liên quan
Mọi người cho em hỏi là tại sao ở hàm nhập lại có int &n còn ở hàm hàm xuat và hàm lonnhat thì chỉ là int n với ạ?
Bạn học C lâu chưa.
Trong C không có tham chiếu đâu bạn.
thế phần mình hỏi được gọi là gì vậy bạn
Bạn học C lâu chưa.
Nó không là gì cả vì nó không có trong C.
mình mới học xong phần lý thuyết cơ bản của C ,giờ mình đang làm trong 1000 bài C bài này về tìm giá trị lớn nhất trong mảng …đến chỗ này mình thấy nó giống kiểu truyền vào cái gì đó nhưng không hiểu nên lên đây hỏi
Bạn nên học lại lý thuyết C đi.
Và tài liệu này cũng nên bỏ nếu có ý định học C tử tế.
sao lại bỏ tài liệu này vậy bạn
Vì nó không đúng.
Code không có CC. Chỉ đê chạy được chứ không để học.
thế có cách nào để hiểu phần mình hỏi không bạn
Nếu chỉ học C.
KHÔNG CÓ CÁCH NÀO ĐỂ HIỂU ĐƯỢC. CẦN PHẢI HỌC CÁC NGÔN NGỮ KHÁC
trời ơi…khó thế vậy sao…cám ơn bạn nhiều
Bạn @maip có kiến thức về hàm và con trỏ không ?
Chỉ cần nói kỹ một chút là bạn sẽ hiểu, chứ không phải khó khăn.
Cái này là ba rọi chứ không phải C à.
Còn lí do vì sao thì nó ntn. Khi bạn nhập mảng thì phải nhập luôn cái size, vì vậy phải truyền tham chiếu cái size vào, chứ truyền tham trị thì cũng như ko do chỉ có trong hàm mới có size.
Tham trị: Callee nhận 1 bản sao của biến truyền vào từ caller. Vì vậy chỉ có trong hàm mới có size đã nhập, sau đó mất luôn.
Tham biến: Với C thay vì truyền biến ta truyền con trỏ đến nó.
thứ nhất, cú pháp này không phải của C mà là của C++
thứ 2, đây là tham số hình thức dưới dạng reference (tham chiếu) biến tham chiếu sẽ không có địa chỉ riêng mà nó sẽ dùng chung địa chỉ của thằng được truyền vào cho nó, hay hiểu nôm na là bí danh của biến được truyền vào
thứ 3, trong C hàm nhap sẽ được khai báo là
Hi Tao Không Ngu,
mình không nghĩ như vậy, học C là đủ rồi, C là toàn bộ những cái cơ bản của ngôn ngữ lập trình. Bạn này học C nhưng lại code theo C++, không khác gì tập xe máy mà tập luôn côn tay thôi. Ngôn ngữ khác nó còn khó hơn C nữa, tiêu biểu là Javascript, nó không thao tác với chuỗi dễ dàng được mà buộc phải dùng hàm của nó, và dĩ nhiên những hàm này tốc độ thực thi của nó sẽ chậm hơn xử lý thủ công, tốc độ chậm thế nào thì mình cũng không biết được vì không biết thuật toán trong đó là gì nữa kìa
cám ơn bạn nhiều…mình sẽ cố gắng nhiều hơn
Hi Nguyễn Quốc Hoàng.
Trong C không có khái niệm tham chiếu.
Sẽ không thể nào hiểu một khái niệm mà bản thân nó không tồn tại. Kiểu như không thể biểu diễn một vật thể 3 chiều trên 1 mặt phẳng 2 chiều.
Thì dùng con trỏ chứ làm gì ghê thế. Chừng nào không cho trỏ vào 1 biến thì đúng.
Hi rogp10.
Kết quả là giống nhau nhưng nó là hai cái hoàn toán khác.
Dùng con trỏ là truyền theo tham trị. Biến con trỏ là 1 biến độc lập có vùng nhớ riêng. Còn biến tham chiếu không phải là biến độc lập.
Đồng ý là vậy, nhưng mà đang nói truyền tham chiếu thì cần gì cái reference đó, con trỏ được rồi.
Không có truyền tham chiếu trong C.