tailieunhanh - Giáo trình Turbo C nâng cao và C++

Một con trỏ là một biến chứa địa chỉ của một biến khác. Nếu một biến chứa một biến khác thì ta nói biến thứ nhất là con trỏ đến biến thứ hai. Cũng như mọi biến khác, biến co trỏ cũng phải được khai báo trước khi dùng . Dung tổng quát để khai báo một biến con trỏ | PHAN 1 TURBO c NÂNG CAO VÀ C CHƯƠNG 1 BIẾN CON TRỎ 1. KHÁI NIỆM CHUNG Một con trỏ là một biến chứa địa chỉ của một biến khác. Nếu một biến chứa địa chỉ của một biến khác tthì ta nói biến thứ nhất trỏ đến biến thứ hai . Cũng như mọi biến khác biến con trỏ cũng phải được khai báo trước khi dùng. Dạng tổng quát để khai báo một biến con trỏ là type tên biến Trong đó type là bất kì kiểu dữ liệu cơ bản thích hợp nào được chấp nhận trong C và tên biến là tên của một biến con trỏ. Kiểu dữ liệu cơ bản xác định kiểu của những biến mà con trỏ có thể chỉ đến. Ví dụ khai báo biến con trỏ chỉ đến các biến nguyên và biến kiểu kí tự char p int x y Con trỏ có một trị đặc biệt gọi là NULL. Trị này có nghĩa là con trỏ chưa trỏ tới một địa chỉ hợp lệ nào cả. Để dùng được trị này chứng ta phải dùng include đầu chương trình 2. CÁC PHÉP TOÁN VỂ CON TRỎ C có hai phép toán đặc biệt đối với con trỏ và . Phép toán là phép toán trả về địa chỉ trong bộ nhớ của biến sau nó. Ví dụ p a sẽ đặt vào biến p địa chỉ trong bộ nhớ của biến a. Địa chỉ này không có liên quan gì đến trị số của biến a. Nói cách khác địa chỉ của biến a không liên quan gì đến nội dung của biến a. Phép toán là phép toán trả về trị của biến đặt tại địa chỉ được mô tả bởi biến đi sau nó. Ví dụ nếu biến a chứa địa chỉ của biến b thì p a sẽ đặt trị số của biến b vào biến p Chương trình 1-1 Lập chương trình in số 100 lên màn hình main int p a b clrscr a 100 p a b p printf d b getch 3. TẦM QUAN TRỌNG CỦA DỮ LIỆU KHI KHAI BÁO CON TRỎ 1 Cần phải bảo đảm là con trỏ luôn luôn trỏ đến một kiểu dữ liệu phù hợp. Ví dụ khi khai báo con trỏ kiểu int trình biên dịch sẽ hiểu là con trỏ bao giờ cũng chỉ đến một biến có độ dài là 2 byte . Ta xét một chuơng trình như sau Chương trình 1-2 main _ float x y int p clrscr p x y p . printf f y getch Chuơng trình này nhằm gán trị của x cho biến y và in ra trị đó. Khi biên dịch chuơng trình không báo lỗi mà chỉ nhắc nhở Suspencious pointer conversion in function main Tuy nhiên chuơng trình .

TỪ KHÓA LIÊN QUAN