tailieunhanh - Ngôn ngữ lập trình C và C++

Tham khảo tài liệu 'ngôn ngữ lập trình c và c++', 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ả | Ngôn ngữ lập trình C và C Nguyễn Trường Giang Chương 7 Một số chủ đề nâng cao 7 .1. Con trỏ a Con trỏ null - Là con trỏ mà không trỏ tới đâu cả. - Không thể sử dụng toán tử để lấy giá trị của con trỏ null. Nếu làm như vậy thì dẫn tới lỗi run-time. - Con trỏ null có ích khi dùng trong danh sách liên kết linked-list hoặc hàm sẽ trả về con trỏ null trong trường hợp hàm có lỗi với hàm trả về một con trỏ . b Con trỏ void - Trỏ tới một kiểu chưa xác định. - Người ta cũng không thể lấy giá trị của con trỏ void hoặc sử dụng toán tử số học với nó nhưng nó có thể dễ dàng chuyển thành con trỏ thuộc kiểu khác. c Con trỏ trỏ tới con trỏ pointer to pointer Là con trỏ chứa địa chỉ của con trỏ khác int i 5 j 6 k 7 int ip1 i ip2 j int ipp Con trỏ trỏ tới con trỏ ipp ip1 ipp ip2 ipp k 7 .2. Tham chiếu - Bản chất Là tạo ra bí danh cho một đối tượng khác - Cú pháp Kiểu biến Ví dụ 1 Ngôn ngữ lập trình C và C Nguyễn Trường Giang int i int ir i đặt ir là bí danh của i - là cách gọi khác cho biến i Thay vì gán i 8 có thể viết ir 8 - So sánh tham chiếu và con trỏ o Giống Đều chứa địa chỉ của biến Ví dụ _ swap2 int a int b int t a a b b t Gọi hàm int x y swap2 x y hoặc int dx x dy y swap2 dx dy o Khác Tham chiếu phải được khởi tạo trỏ tới 1 biến con trỏ có thể trỏ đến NULL. Con trỏ có thể thay đổi địa chỉ trỏ tới còn tham chiếu thì không. 7 .3. Quản lý bộ nhớ - C cung cấp 3 cách riêng biệt để cấp phát bộ nhớ cho các đối tượng. o Cấp phát tĩnh Không gian nhớ cho các đối tượng biến hằng hàm . được cung cấp vào thời điểm biên dịch. Những đối tượng này sẽ tồn tại chừng nào phần đoạn mã nhị phân chứa chúng còn tồn tại. o Cấp phát tự động các đối tượng có thể được lưu trữ vào các stack. Không gian nhớ này được tự động giải phóng và tái sử dụng sau khi khối câu lệnh sử dụng chúng không còn tác dụng nữa. o Cấp phát động Các khối nhớ với kiểu mong muốn có thể được yêu cầu vào thời điểm chạy sử dụng các hàm trong thư viện như malloc từ .

TỪ KHÓA LIÊN QUAN