Con Tro - P1

Post on 02-Mar-2018

216 views 0 download

Transcript of Con Tro - P1

7/26/2019 Con Tro - P1

http://slidepdf.com/reader/full/con-tro-p1 1/2

Con trỏ=> là 1 biến bình thường nhưng có thể trỏ đi lung tungtrong bộ nhớ 

- Tại sao lại có con trỏ ? Sử dụng được gì ???=> Vì có thể trỏ đi lung tung trong bộ nhớ cho nênviệc sử dụng bộ nhớ sẽ linh hoạt hơn.

-Áp dụng cho mảng động

CÚ PHÁP:<Kiểu dữ liệu> * <Tên con trỏ>

<Kiểu dữ liệu> là :- Các kiểu có sẵn (int, float, double, char void...)- Các kiểu dữ liệu tự tạo ( PhanSo, HocSinh...)

<Tên con trỏ> là :- Theo quy tắc đặt tên

vd: int *a; int* a; int * a; => 3 cách viết là như nhaunhưng để cho rõ ràng code thì khi khai báo 1 biến thì dấu * để sát tênbiến, còn khi khai báo 1 hàm thì dấu * để sát vào kiểu dữ liệu.

vd: int *a; // Khai báo biến con trỏ  int* TimMax(int *a, int *b) // Khai báo 1 hàm trả về 1 con trỏ

- Trong hệ điều hành 32 bit thì con trỏ tốn 4 bytes.- Trong hệ điều hành 64 bit thì con trỏ tốn 8 bytes.

- Lưu ý:<Kiểu dữ liệu> trong khai báo con trỏ không phải là kiểu dữ liệu của

nó mà là kiểu dữ liệu của vùng nhớ mà nó đang trỏ đến.

- void* : Con trỏ vô kiểu, tức là có thể nhận mọi kiểu dữ liệu nhưng phải ép lại

---- TỔ CHỨC BỘ NHỚ TRONG MÁY TÍNH -------- Trong bộ nhớ được chia làm 4 ph•n chính

1/ Code Segment => là nơi lưu trữ mã máy dạng nh phân2/ Data Segment => là nơi chứa các biến t°nh (static) và các biến toàn cục

3/ Heap => là vùng nhớ không do CPU quản lý, người lập trình phải tự quảnlý vùng nhớ này.Vùng nhớ này dành cho con trỏ4/ Stack => là vùng nhớ do CPU quản lý, người lập trình không thể can thiệp

vào vùng nhớ này, nếu cố tình can thiệp sẽ b l²i.Vùng nhớ này chứa  các biến cục bộ(b bao phủ b³i dấu {})

- 1 biến bình thường trong bộ nhớ g¶m 2 ph•n:+ ·a ch¸ của biến+ Giá tr của biến

vd: int a = 5; // Khai báo biến a mang giá tr là 5+ ·a ch¸ của biến là &a+ Giá tr của biến là a

·a ch¸ g¶m 8 chữ số dạng Hexa

- ·ối với 1 con trỏ g¶m 3 ph•n+ ·a ch¸ của con trỏ.+ Miền giá tr của con trỏ tức là đa ch¸ của biến mà nó đang trỏ tới+ Giá tr của con trỏ.

vd:int a = 5;int *b = &a;//Cho con trỏ b trỏ tới biến a*b: giá tr con trỏ b.// chính là giá tr của a&b: đa ch¸ của con trỏ b

7/26/2019 Con Tro - P1

http://slidepdf.com/reader/full/con-tro-p1 2/2

b: miền giá tr của con trỏ b, chính là đa ch¸ của biến a- vd1: Con trỏ trỏ tới 1 biến- vd2: Con trỏ trỏ tới 1 con trỏ