Danh mục

kỹ thuật lập trình C chuyên nghiệp phần 4

Số trang: 24      Loại file: pdf      Dung lượng: 523.00 KB      Lượt xem: 13      Lượt tải: 0    
Jamona

Phí tải xuống: 15,000 VND Tải xuống file đầy đủ (24 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu kỹ thuật lập trình c chuyên nghiệp phần 4, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
kỹ thuật lập trình C chuyên nghiệp phần 4 Con trỏ – PointerKhaiKhai báoCáCác toán tử “&”, “*”, “=”, “+”NhNhắc lại về truyền tham số địa chỉConCon trỏ và mảngCấp phát vùng nhớ động hátCon trỏ – Một số lý do nên sử dụng lý Con Con trỏ là kiểu dữ liệu lưu trữ địa chỉ của các vùng dữ liệu trong bộ nhớ máy tính Kiểu con trỏ cho phép: Ki hép: Truy Truyền tham số kiểu địa chỉ Biểu diễn các kiểu, cấu trúc dữ liệu động Bi Lưu trữ dữ liệu trong vùng nhớ heap Con Con trỏ đã được sử dụng trong hàm scanfCon trỏ – Khai báo trong C bá Kiểu con trỏ phải được định nghĩa trên một kiểu cơ sở đã h được định nghĩa trước đó. ó. typedef kiểucơsở *Tênkiểu; typedef int *PINT; //PINT là kiểu con trỏ - địa chỉ vùng nhớ kiểu int là int x; PINT p; //p, p1: biến kiểu int * // bi ki int *p1;Con trỏ – Khai báo trong C báint *pi;long int *p; intfloat* pf;char c, d, *pc; /* c và d kiểu char pc là con trỏ đến char */double* pd, e, f; /* pd là con trỏ đến double e and f are double */char *start, *end;Con trỏ - Toán tử “&” “&”: toán tử lấy địa chỉ của 1 biến Đị Địa chỉ của tất cả các biến trong chương trình đều đã được chỉ định từ khi khai báo char g = z; p c int main() a 0x1132 { 0x1132 char c = a; char *p; g p p = &c; &c; z 0x91A2 p = &g; 0x91A2 return 0; }Con trỏ - Toán tử “*” “*” “*”: toán tử truy xuất giá trị của vùng nhớ được quản lý bởi con trỏ.#include p cchar g = z; a 0x1132int main() 0x1132 a{ z char c = a; g p char *p; z 0x91A2 p = &c; 0x91A2 printf(%c , *p); xuất giá trị do p đang giá tr do p = &g; &g; quản lý printf(%c , *p); return 0;}Con trỏ - Truyền tham số địa chỉ đị #include void change(int *v); int main() { int var = 5; change(&var); printf(main: var = %i , var); return 0; } void change(int *v) { (*v) *= 100; printf(change: *v = %i , (*v)); }Con trỏ NULL NULL Giá Giá trị đặc biệt để chỉ rằng con trỏ không quản lý vùng nào. nào. Giá trị này thường được dùng để chỉ một con trỏ không hợp lệ. #include int main() { int i = 13; short *p = NULL; if (p == NULL) printf(“Con trỏ không hợp lệ! ); else printf(“Giá trị : %hi , *p); return 0; }Con trỏ - Toán tử gán “=” Có Có sự khác biệt rất quan trọng khi thực hiện các phép gán: hé n: p i int i = 10, j = 14; 10 14 0x15A0 int* p = &i; 0x15A0 int *q = &j; q j 14 0x15A4 *p = *q; 0x15A4 và: p 0x15A4 i int i = 10, j = 14; 10 0x15A0 int *p = &i; 0x15A0 int *q = &j; q j 14 0x15A4 p = q; q; 0x15A4Luyện tập – Điền vào ô trốngint main(void) i{ 0x2100 int i = 10, j = 14, k; 10 14 k; j int *p = &i; ...

Tài liệu được xem nhiều: