TAILIEUCHUNG - Bài giảng Cấu trúc dữ liệu 1: Chương 3A - Huỳnh Cao Thế Cường

Chương 3 trang bị cho người học những kiến thức về cấu trúc dữ liệu động. Các nội dung chính được trình bày trong chương này gồm có: Con trỏ (Pointers), các phép tính về con trỏ, con trỏ và mảng, con trỏ dùng như mảng, con trỏ và cấu trúc, con trỏ vạn năng, con trỏ kép. | CẤU TRÚC DỮ LIỆU 1 Giảng viên phụ trách: HUỲNH CAO THẾ CƯỜNG Bộ môn Tin học email: hctcuong@ TRƯỜNG ĐẠI HỌC AN GIANG KHOA KỸ THUẬT- CÔNG NGHỆ - MÔI TRƯỜNG Chương 3. CẤU TRÚC DỮ LIỆU ĐỘNG Đặt vấn đề Kiểu dữ liệu Con trỏ Danh sách liên kết (link list) Danh sách đơn (xâu đơn) Tổ chức danh sách đơn theo cách cấp phát liên kết Một số cấu trúc dữ liệu dạng danh sách liên kết khác Danh sách liên kết kép Hàng đợi hai đầu (double-ended queue) Danh sách liên kết có thứ tự (odered list) Danh sách liên kết vòng Danh sách có nhiều mối liên kết Danh sách tổng quát Đặt vấn đề Biến không động (biến tĩnh, biến nửa tĩnh) Được khai báo tường minh Tồn tại trong phạm vi khai báo Được cấp phát vùng nhớ trong vùng dữ liệu (Data) hoặc là Stack Kích thước không thay đổi trong suốt quá trình sống Đặt vấn đề Biến động Biến không được khai báo tường minh Có thể cấp phát hay giải phóng bộ nhớ khi cần Vùng nhớ của biến được cấp phát trong Heap Kích thước có thể không thay đổi trong quá trình sống Con trỏ (Pointers) Khai báo: Dạng *Con trỏ char *c int *i; float *f; typedef int *intPointer; intPointer p; hoặc int *p; Ví dụ: Lập chương trình định nghĩa một số nguyên có giá trị bằng 1 và dùng một con trỏ p để chỉ số nguyên này. Sau đó in lên màn hình giá trị của số nguyên này bằng 2 cách Không dùng con trỏ Thông qua con trỏ Con trỏ (tt) #include void main() { int *p, n=1; printf("n=%d \n", n); p=&n; printf("n=%d \n", *p); //p } Kết quả: n=1; n=1; Con trỏ - Các phép tính về con trỏ void main() { char *a; char c[]="Pointers"; a=&c[0]; printf("c[1]=%c \n", *(a+1)); printf("Apter a+1, *a=%c \n", *a); a++; printf("Apter a+1, *a=%c \n", *a); } Kết quả: C[1]=o After a+1, *a=P After a++, *a=o Con trỏ - Các phép tính về con trỏ void main() { char *a; char c[]="Pointers"; int i; a=c; for(i=0; i<7; i++) printf("%c", *(a++)); printf("\n%c\n", *a); a=c; for(i=0; i<7; i++) printf("%c", *(++a)); printf("\n%c\n", *a); } Kết quả: Pointer s ointers s Con trỏ - Các phép tính về con trỏ Lưu ý: Ví

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.