30/09/2018, 20:40
Hỏi về lập trình C++ như bao lần khác
Ai cho em hỏi và void change(int a)
nó khác gì với void change(int *a)
với ạ ???
Bài liên quan
Ai cho em hỏi và void change(int a)
nó khác gì với void change(int *a)
với ạ ???
mình chưa học về C++ nhưng biết được C. Theo mình thì
void change(int *a)
kiểu như là đặt biến con trỏ hay sao ấy. Cònvoid change(int a)
là sử dụng hàm bình thườngNói thật là mình cũng ko hiểu con trỏ lắm XD cho mình hỏi là đặt biến con trỏ để làm gì đấy ???
Định nghĩa thì đọc trên Google nhé
3 video dưới đây giúp bạn dễ hình dung hơn:
Video 1: https://www.youtube.com/watch?v=cJQnATEEE5w&index=20&list=PLyiioioEJSxHVTaeL-ELYy6Io-I8diIVZ
Video 2: https://www.youtube.com/watch?v=dROGMxhWMa4&list=PLyiioioEJSxHVTaeL-ELYy6Io-I8diIVZ&index=20
Video 3: https://www.youtube.com/watch?v=rWaL4rIuTbc&index=21&list=PLyiioioEJSxHVTaeL-ELYy6Io-I8diIVZ
Mình có xem rồi nhưng thực sự vẫn ko hiểu đc viết
void change(int *a)
để làm gì XP, nghĩa là dùng nó thì hơn gìvoid change(int a)
ấyBạn phải coi kỹ nhá. Đừng “cưỡi ngựa xem hoa”.
Coi thử video này xem: https://www.youtube.com/watch?v=t38HrwL9rnE&index=63&list=PLyiioioEJSxHr5X8RNY3QXUGcjzeZeI7l
Mà đọc tác dụng của con trỏ trên Google chưa?
change(int a) :
Khi truyền biến số vào hàm qua a thì biến số được copy rồi truyền vào trong hàm. Khi đó là cái gì với a ở trong hàm cũng không ảnh hưởng đến biến số bên ngoài.
change(int *a) :
Ta sẽ truyền vào trong hàm con trỏ trỏ tới địa chỉ của biến số truyền vào hàm. Khi thay đổi giá trị của a thì giá trị biến số truyền hàm sẽ thay đổi.
Chốt : một cái copy ra một bản rồi đưa vào hàm và một cái bê nguyên đưa vào hàm.
Sau 1 hồi mò mẫm thì đã hiểu tks mn