Sự khác nhau giữa tham biến và tham trị trong C và C++
Em xin chào các bạn và bậc tiền bối.
Các bạn và các bậc tiền bối có thể chỉ giúp mình sự khác biệt giữa " Tham biến" và “Tham trị” được không ạ ?
Và trong C và C++ có sự khác nhau không ạ ? Em đọc 1 bài trên cộng đồng C việt họ bảo trong C không có " Tham biến" khái niệm “Tham biến” chỉ có trong C++ thôi ạ .
Và em đang tự học C đến chương 7.Hàm giáo trình của “Hanoi Aptech Computer Education Center” Ở ví dụ 3 có đoạn như thế này
lúc em build file “.c” thì nó báo lỗi ở đoạn khai báo hàm sử dụng dấu " & "
em lên mạng tìm thì người ta chỉ phải đổi lại file thành “.cpp” thì mới chạy còn nếu để file “.c” thì chuong trình không có chạy được ạ ? em đã thử đổi “&” thành " * " nhưng ở dưới lúc thực hiện chương trình con nó lại báo lỗi ạ ? Các bậc tiền bối có thể giải thích cho em hiểu được không ạ ? và có thể chỉ cho em cách fix nếu sử dụng " * " thì ở lúc thực hiện chương trình con cần thay đổi ntn để nó không báo lỗi ạ ?
Em mới bắt đầu học nên chưa rõ mong các bậc tiền bối chỉ giáo, khai sáng em ạ.Em cảm ơn các bạn và các bậc tiền bối nhiều ạ .
Hai ngôn ngữ khác nhau bạn.[quote=“TruongNguyen, post:1, topic:49338”]
Em đọc 1 bài trên cộng đồng C việt họ bảo trong C không có " Tham biến" khái niệm “Tham biến” chỉ có trong C++ thôi ạ
[/quote]
Cũng có thể hiểu như vậy nhưng ko phải là ko xài tham biến được, rồi bạn sẽ học đến.
Về đoạn code trên thì nó không phải là code C vì có sử dụng tham chiếu! Đây là trick để tránh phải nói về con trỏ nhưng phải có footnote cảnh báo, vì vô hình trung khi dùng scanf tức là đang dùng con trỏ mà không biết.
Anh có thể nói rõ hơn được không ạ ? Em bị trưa giờ mà chưa hiểu được ? Tham biến , tham số , tham trị khác nhau nhưng em chưa hiểu rõ nó khác nhau ntn ạ ? Và em đã thử chuyển " & " thành " * " Nhưng nó vẫn báo lỗi ở chương trình con như thế này ạ . Anh có thể chỉ cho em cách fixx được không ạ
Bạn vào trang này down tài liệu về, đọc chương 2- những kỹ thuật nâng cao, bài con trỏ ấy
còn về lỗi code thì trong đó có một bài tương tự, bạn sẽ biết cách sửa được ngay
tránh dùng mà không hiểu bản chất ,
bạn hiểu 1 cách đơn giản thì tham chiếu là biến được tham chiếu sau khi ra khỏi hàm thì mọi sự thay đổi của biến đó được giữ nguyên , còn tham trị thì sau khi ra khỏi hàm bao chứa(kết thúc bới cặp {… }) thì giá trị ko thay đổi ,
Tham trị=> Coppy cái biến đó vào hàm gọi, Nghĩa là không ảnh hưởng tới biến trong hàm gọi nó, không dùng chung vùng nhớ
Tham biến => Cái biến đó được truyền thẳng vào hàm gọi, dùng chung vùng nhớ, có thay đổi nào trong hàm gọi sẽ ảnh hưởng tới biến trong hàm gọi nó
Đơn giản z đã, còn tham trị tham biến con trỏ cũng tựa z
Cứ đọc thần chú là: biến muốn thay đổi giá trị thì truyền tham biến
Hi Nguyễn Công Trường
Vất cái giáo trình đi.
Cảm ơn bạn nhiều nhé
Cảm ơn bạn nhiều nhé
Giáo trình mihnf được 1 bạn share trên diễn đàn C việt nên học theo ấy ạ . Chứ mình beginer nên không biết giáo trình nào chuẩn . Bạn có giáo trình nào hay share mình với
Tham biến và tham trị là hai cách truyền vào hàm, còn tham chiếu là để hiện thực hóa tham biến (cùng nhiều công dụng khác).
Tham biến cũng có thể hiện thực bằng con trỏ, và cú pháp sẽ không tự nhiên :v như khi dùng tham chiếu.
Nhìn giáo trình củ chuối vãi =))