Xin chào và chào mừng trở lại. Trong bài giảng này, tôi muốn cung cấp một minh
chứng hoặc giải pháp cho thách thức trước đây của chúng tôi giúp bạn làm
quen với cú pháp con trỏ, khái niệm về con trỏ,
gán địa chỉ cho con trỏ và sau đó hiển thị một số đầu ra cho con trỏ.
Vì vậy, hãy đưa ra các khối mã, và chúng ta sẽ tạo một dự án mới, một dự án c
mới sẽ được gọi là những điều cơ bản về con trỏ, bởi vì nó sẽ thực hiện những điều cơ bản về con trỏ.
Vì vậy, chúng tôi biết làm thế nào để làm tất cả những điều này. Chúng tôi sẽ chọn ứng dụng bảng điều khiển,
hãy đảm bảo rằng chúng tôi có c và chỉ cần gọi khái niệm
cơ bản về con trỏ này.
Khái niệm con trỏ này thực sự, thực sự quan trọng.
Vì vậy, chúng tôi bắt đầu chậm và tiếp tục từ đó.
Vì vậy, chúng ta bắt đầu. Ở đây chúng tôi có chính của chúng tôi.
Bây giờ, tất cả những gì chúng ta muốn làm là tạo một biến
số nguyên và sau đó là một biến con trỏ.
Và chúng tôi muốn khởi tạo cả hai.
Vì vậy, điều đầu tiên tôi sẽ làm là tôi sẽ tạo một biến
số nguyên và tôi sẽ đặt tên cho nó là number hoặc num.
Và tôi sẽ khởi tạo nó thành 150.
Để tạo một biến con trỏ, nó phải cùng kiểu.
Để tạo một con trỏ, tất cả những gì bạn phải làm là nhập kiểu dữ liệu và sau đó là dấu
hoa thị trong phần khai báo và sau đó chúng ta sẽ gọi đây là pnum cho số con trỏ.
Thông thường, bạn muốn bắt đầu các biến của mình là con trỏ với tiền tố p.
Và luôn luôn là một ý tưởng hay khi bạn tạo các con trỏ của mình, hãy khởi tạo chúng thành null.
Null là một từ khóa đặc biệt nói rằng con trỏ
không trỏ đến bất cứ thứ gì.
Khi chúng ta đã khởi tạo cả
hai biến, số nguyên num và con trỏ số nguyên num, sau đó chúng ta muốn
gán một cái gì đó cho con trỏ của mình.
Bởi vì hiện tại con trỏ của chúng ta không trỏ bất cứ thứ gì trong bộ nhớ.
Và bạn muốn đảm bảo rằng bất cứ thứ gì bạn gán con trỏ
của bạn cho nó, con trỏ đó thực sự có vị trí bộ nhớ
cho nó, bộ nhớ được cấp phát.
Vì vậy, trong trường hợp này, nếu chúng ta định gán nó là num,
num là một số nguyên trên dòng 6 có bộ nhớ được cấp phát cho nó.
C sẽ tự động cấp phát bộ nhớ cho bất
kỳ khai báo biến nào.
Ngay cả con trỏ này trên dòng 7 cũng được cấp phát bộ nhớ chỉ để lưu trữ con trỏ.
Nó không nhất thiết có nghĩa là nó có bộ nhớ được cấp phát cho những gì nó trỏ tới.
Vì vậy, để ký pnum, một giá trị của một
địa chỉ, tất cả những gì chúng ta phải làm là nói pnum
bằng dấu và, đó là địa chỉ của
toán tử và chúng ta
muốn gán địa chỉ đó là num.
Num có một bộ nhớ đã được cấp phát cho nó và chúng tôi đã khai báo nó.
Vì vậy, dòng 9 chỉ là gán địa chỉ của num cho một con trỏ.
Nó đơn giản như vậy.
Bây giờ khi bạn tạo một con trỏ và bạn gán
một địa chỉ cho nó, bạn cũng có thể tạo bộ nhớ động của riêng mình
và gán nó. Nhưng đó là cho một bài tập khác. Trong trường hợp này,
chúng tôi đã tạo biến của chúng tôi. Chúng ta sẽ chỉ đến giá trị của biến đó.
Chúng ta cần gán địa chỉ của num.
Bây giờ sau khi chúng tôi đã in ra, chúng tôi đã hoàn thành bài tập của mình, chúng tôi đã khởi tạo mọi thứ.
Bây giờ chúng tôi chỉ muốn in ra một số thông tin.
Vì vậy, chúng tôi sẽ sử dụng printf và tôi sẽ nói trước tiên
tôi muốn in ra giá trị của địa chỉ pnum.
Bây giờ giá trị pnum là gì cho địa chỉ,
nhưng là địa chỉ pnum. Và ở đây chúng ta thực sự có
thể nói địa chỉ của
một con trỏ, vì vậy chúng ta sẽ nói p. Và sau đó tất cả những gì chúng ta phải làm là
đưa vào đây, chúng ta phải nhập địa chỉ của con trỏ của chúng ta.
Vì vậy, ở đây chúng tôi sẽ nói địa chỉ của pnum.
Và điều này sẽ cung cấp cho chúng ta những gì, điều này sẽ cung cấp cho chúng ta địa chỉ
của con trỏ đang cấp phát bộ nhớ. Nó không phải là
giá trị của giá trị của con trỏ. Giá trị của con trỏ cũng sẽ là một địa chỉ, nó sẽ là địa chỉ của num.
Vì vậy, ở đây trước tiên chúng ta cũng hãy in ra num. Vì vậy, ở
đây chúng tôi sẽ in ra địa chỉ num là.
Và một lần nữa, chúng tôi muốn in ra một địa chỉ nói rằng phần trăm p.
Và sau đó chúng ta sẽ nói địa
chỉ của địa chỉ của num.
Và địa chỉ của num cũng phải khớp với giá trị của pnum.
Địa chỉ của pnum sẽ khác vì đó là con trỏ trong bộ nhớ.
Vì vậy, chúng ta sẽ in ra giá trị của
pnum hoặc tôi nên nói địa chỉ của pnum.
Và sau đó
chúng tôi cũng sẽ in ra giá trị của pnum.
biến và đây cũng sẽ là một địa chỉ, và
đây sẽ là pnum.
Và điều cuối cùng chúng ta muốn hiển thị
là chúng ta muốn hiển thị giá trị mà pnum đang trỏ tới.
Vì vậy, giá trị của những gì pnum đang trỏ đến.
Và đây thực sự sẽ là kiểu mà nó trỏ
tới là một số nguyên. Vì vậy, đây sẽ là phần trăm d.
Và hãy thực sự thêm một số nguồn cấp dữ liệu dòng để chúng ta có thể đọc được điều này.
Và những gì nó thực sự chỉ ra cách bạn nhận được giá trị đó là toán tử chuyển hướng.
Vì vậy, bạn thực hiện dấu hoa thị và sau đó là tên con trỏ.
Và điều đó sẽ cho bạn biết giá trị đang trỏ đến phải là 150.
Vì vậy, chỉ để nhắc lại ở đây trên dòng
11, chúng tôi đang in ra địa chỉ của num.
Đó sẽ là một số hoặc số thập lục phân.
Sau đó, trên dòng 12, chúng ta đang in ra địa chỉ
của pnum, địa chỉ vừa được phân bổ
ở dòng 7 vì bạn phải lưu trữ con trỏ pnum ở đâu đó.
Sau đó, chúng tôi in ra giá trị của con trỏ chỉ là địa chỉ của num.
Và khi chúng ta in ra địa chỉ của pnum, chúng ta phải sử dụng dấu và.
Và sau đó, chúng tôi in ra giá trị của cái mà pnum đang
trỏ tới mà nó đang tham khảo bằng cách sử dụng toán tử chuyển hướng.
Vì vậy, bây giờ chúng ta hãy tiếp tục
xây dựng và chạy nó và chúng ta sẽ thấy tất cả các giá trị này.
Vì vậy, địa
chỉ num chỉ số này trong bộ nhớ là 0060FF0C.
Địa chỉ của pnum
sẽ khác, 0060FF08.
Giá trị của pnum là địa chỉ của num phải khớp với dòng đầu tiên và
nó tương ứng với FFOC.
Và khi đó giá trị của pnum đang trỏ tới là 150.
Vì vậy, một con trỏ thực sự có thể có ba giá trị. Địa chỉ của nó, giá
trị của con trỏ là một địa chỉ khác và
sau đó là giá trị của địa chỉ đó đang trỏ tới.
Và một lần nữa, ký hiệu và luôn cung cấp cho bạn
địa chỉ trong bộ nhớ.
Pnum chứa một địa chỉ. Bạn có thể in nó ra
chỉ bằng cách nói tên của con trỏ.
Và sau đó để nhận giá trị mà nó trỏ tới, bạn sử dụng toán tử điều hướng,
dấu hoa thị và điều đó sẽ cung cấp cho bạn giá trị đó là 150.
Vì vậy, đây là những điều cơ bản về con trỏ, giúp bạn làm quen với cú pháp.
Khi nào sử dụng địa chỉ của toán tử và khi nào sử dụng toán
tử hướng dẫn và sau đó cố gắng giải thích khái niệm này về một con trỏ và cách một con trỏ
chứa giá trị của một địa chỉ, giá trị của một con trỏ là một địa chỉ.
Vì vậy, hãy chơi với điều này,
hiểu cú pháp này, con trỏ là khái niệm thực sự quan trọng. Cảm ơn bạn.