-như chúng ta đều biết việc truyền 1 mảng biến hay bất cứ thứ gì khác từ hàm này qua hàm khác hay hàm main() qua hàm con nào đó hay, giữa các hàm con với nhau đều là tạo ra 1 biến mới chứ không xài biến cũ dù có truyền tham chiếu hay tham trị
-việc truyền 1 mảng từ hàm này qua hàm khác khi đi vào hàm khác nó sẽ bị suy biến thành tham số chỉ là 1 con trỏ
-1 con trỏ, trỏ tới 1 vùng nhớ có nghĩa là vùng nhớ đó do 2 biến khác nhau(2 địa chỉ khác nhau) cùng quản lý 1 giá trị trong bộ nhớ máy tính, cái mà bị con trỏ trỏ tới là quản lý 1 cách trực tiếp VD: a=3; biến a sẽ quản lý giá trị 3 1 cách trực tiếp, còn nếu *b trỏ tới địa chỉ biến a có nghĩa *b sẽ quản lý biến giá trị biến a 1 cách gián tiếp nhưng quyền hành của chúng là như nhau đều là admin cả và đều có  thể thay đổi giá trị của vùng nhớ bị trỏ tới đó, nó khác với tham chiếu ở chỗ tham chiếu là tạo ra 1 alias(cùng địa chỉ vùng nhớ) nhưng chúng đều quản lý vùng nhớ 1 cách trực tiếp và cái thằng alias sẽ bị mất khi ra khỏi hàm con
-có thể có nhiều con trỏ, trỏ tới 1 địa chỉ vùng nhớ và chúng đều có quyền thay đổi địa chỉ vùng nhớ của con trỏ đây là 1 kỹ thuật rất mạnh của con trỏ
-việc truyền địa chỉ vào ví dụ input(&b) vào hàm có tham số(float*b) thì cũng giống như là truyền kiểu tham chiếu vậy và b sẽ bị thay đổi thật sự dù đó là truyền tham trị
-chú ý rằng chúng ta có float*b=new float[10];
thì b là 1 con trỏ nhưng b[i] chỉ là kiểu float;
-trong struct chúng ta dùng con trỏ, để trỏ đến trường của nó thay vì dùng "." là gọi trường trực tiếp chúng ta sẽ dùng -> là thay cho"*." ánh xạ bộ nhớ gián tiếp bởi vì chúng quản lý gián tiếp, bởi vì chúng ta muốn thay đổi giá trị bên trong bộ nhớ mà chúng ta quản lý gián tiếp thì chúng ta phải dùng toán tử"*" để tham chiếu ngược
-ví dụ chúng ta float *a=new int 10; chúng ta delete a có nghĩa là chúng ta trả lại vùng nhớ động mà a quản lý cho hệ điều hành nhưng a vẫn còn chỉ là chúng ta gọi a[i] sẽ bị lỗi vì a không còn quản lý vùng nhớ đó nữa, sợi dây ảo trỏ tới đã bị cắt, con trỏ cũng là 1 biến trong stack nên nó cũng biến mất khi đi ra khỏi hàm tạo ra nó nhưng vùng nhớ động mà nó được cấp phát thì không hàm nào giải phóng nó được trừ khi kết thúc chương trình
-struct dùng để định nghĩa 1 kiểu dữ liệu mới có nghĩa code này chưa tạo ra cái gì trong bộ nhớ máy tính nó chỉ đang định nghĩa mà thôi khi nào chúng ta sử dụng biến kiểu dữ liệu do struct định nghĩa khi đó chúng ta mới tạo ra, giống như chúng ta viết hàm con chúng ta cũng chỉ định nghĩa nó thôi chỉ khi nào hàm main() gọi thì nó mới là vật chất thực sự, nên khi nào chúng ta đọc 1 cái code nào thì cũng phải bắt đầu từ hàm main() đây cũng chính là cách mà máy tính chạy code của chúng ta
hàm bạn
=>con trỏ là 1 vấn đề không khó thực chất chỉ là 1 biến quản lý địa chỉ nhưng để áp dụng nó thì đòi hỏi rất nhiều kinh nghiệm trãi trận mới có thể lĩnh hội được nó trên đây chỉ là những ý căn bản nhất của con trỏ, nó sẽ được dùng rất nhiều trong việc thiết kế các cấu trúc dữ liệu khác nên nắm vững được nó là 1 điều bắt buộc trước khi học cấu trúc dữ liệu và hãy học thật kỹ, và học chúng ta phải hiểu ngay từ đầu mới đi tiếp nếu đi tiếp mà chưa hiểu thì những kiến thức sau cũng sẽ không hiểu được
-có 1 sai lầm là chúng ta đọc chúng ta không biết gì nhưng cứ nghĩ là đã hiểu thà không biết còn hơn học 1 cách sơ sài rồi gián mác tri thức