intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 10: Sự lưu trữ của biển sự chuyền kiểu

Chia sẻ: Phan Thi Ngoc Giau | Ngày: | Loại File: PDF | Số trang:7

36
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Biến khi được sử dụng trong chương trình phải được khai báo Biến có thể được khai báo ở nhiều chỗ trong chương trình (trong hàm, ngoài hàm...) Mỗi chỗ như vậy sẽ làm cho biến có khả năng sử dụng khác nhau, từ đó hình thành nên các lớp lưu trữ biến. , p

Chủ đề:
Lưu

Nội dung Text: Chương 10: Sự lưu trữ của biển sự chuyền kiểu

  1. 10/26/2009 KHÁI NIỆM Chương 10 Biến khi được sử dụng trong chương trình phải được o khai báo Biến có thể được khai báo ở nhiều chỗ trong chương trình o (trong hàm, ngoài hàm...) CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng Mỗi chỗ như vậy sẽ làm cho biến có khả năng sử dụng SỰ LƯU TRỮ CỦA BIẾN o khác nhau, từ đó hình thành nên các lớp lưu trữ biến. SỰ CHUYỂN KIỂU 1 2 KHÁI NIỆM BIẾN CỤC BỘ Biến cục bộ, còn gọi là biến tự động (auto), là các biến Có hai đặc tính quan trọng của một biến: tầm sử dụng của o o được khai báo: biến và thời gian tồn tại của biến Ngay sau cặp dấu móc { } (cặp dấu này như đã biết để bắt đầu cho một lệnh phức hoặc một thân hàm). CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng Trong danh sách đối số của hàm. Từ khóa auto được đặt trong dấu ngoặc có hoặc không có Biến cục bộ được khai báo luôn là biến auto 3 4 CBGD: ThS.Trần Anh Dũng 1
  2. 10/26/2009 BIẾN CỤC BỘ BIẾN CỤC BỘ CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng 5 6 BIẾN CỤC BỘ BIẾN TOÀN CỤC Biến toàn cục (global) hay còn gọi là biến ngoài: biến được khai báo ở bên ngoài tất cả các hàm. Biến toàn cục liên kết trị giữa các hàm khác nhau mà việc truyền theo tham số trở nên rắc rối và phức tạp. CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng Các hàm sử dụng chung biến toàn cục: -Nằm trong cùng một tập tin -Nằm trong các tập tin khác nhau 7 8 CBGD: ThS.Trần Anh Dũng 2
  3. 10/26/2009 BIẾN TOÀN CỤC BIẾN TOÀN CỤC CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng 9 10 BIẾN TOÀN CỤC BIẾN TOÀN CỤC Biến toàn cục khai báo một lần duy nhất trong chương trình. Nếu một chương trình lại được thiết kế thành nhiều module chương trình biến toàn cục phải được khai báo trong một CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng module chương trình nào đó, nhưng nó lại có thể được sử dụng bởi tất cả các hàm khác ở module khác của chương trình. 11 12 CBGD: ThS.Trần Anh Dũng 3
  4. 4 10/26/2009 CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng 14 16 BIẾN TĨNH BIẾN TĨNH CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng 13 15 BIẾN TOÀN CỤC BIẾN TĨNH CBGD: ThS.Trần Anh Dũng
  5. 10/26/2009 BIẾN TĨNH BIẾN THANH GHI (REGISTER) CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng Các khai báo biến thanh ghi đặt bên trong một hàm hoặc đầu một lênh phức (khối lệnh) như khai báo biến cục bộ hoặc khai báo đối số hàm. Tầm sử dụng và thời gian tồn tại của các biến thanh ghi tương tự như các biến cục bộ, nhưng chúng được truy xuất nhanh hơn các biến cục bộ bình thường vì chúng chính là các thanh ghi của bộ vi xử lý. Do đó, các biến thanh ghi thường được sử dụng làm các 17 18 biến điều khiển trong các vòng lặp hoặc các biến phải truy xuất nhiều lần trong chương trình. BIẾN THANH GHI (REGISTER) BIẾN THANH GHI (REGISTER) CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng 19 20 không CBGD: ThS.Trần Anh Dũng 5
  6. 10/26/2009 BIẾN THANH GHI (REGISTER) BIẾN THANH GHI (REGISTER) Biến thanh ghi chỉ chấp nhận một số kiểu biến nguyên như int, char, unsigned, long và pointer mà thôi. Số thanh ghi trong mỗi bộ vi xử lí là có giới hạn (tùy thuộc vào họ vi xử lí) không nên khai báo quá nhiều biến thanh CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng ghi. VD: Đối với máy IBM-PC hoặc tương thích, số biến thanh ghi thật sự thay đổi từ 0 đến 2 Biến thanh ghi sử dụng thanh ghi lưu trữ dữ liệu, vì vậy không thể lấy được địa chỉ của biến thanh ghi 21 22 KHỞI ĐỘNG TRỊ CHO BIẾN Ở CÁC LỚP KHỞI ĐỘNG TRỊ CHO BIẾN Ở CÁC LỚP Đối với biến toàn cục hoặc biến tĩnh, ngay sau khi được khai báo, mỗi biến sẽ được C tự động gán trị là 0 Mỗi lớp có một đặc điểm riêng và tùy lớp mà C có khả năng Trong khi đó biến tự động và biến thanh ghi sẽ có giá trị tự động gán giá trị ban đầu cho biến lúc chúng được khai báo. không xác định (gọi là trị rác) Cần hiểu rõ việc khởi động trị này của các lớp để không phải CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng Biến toàn cục và biến tĩnh có thể được khởi động trị bằng một tốn thời gian khởi động trị của chúng trong chương trình. biểu thức hằng Đối với các lớp biến không được C khởi động trị lập trình Biến tự động và biến thanh ghi có thể được khởi động trị viên phải tự khởi động trị lúc khai báo hoặc trước khi cần sử bằng một biểu thức mà giá trị của biểu thức tới lúc đó đã xác dụng định, trong biểu thức đó có thể có gọi hàm Việc khởi động cho các biến thuộc kiểu dữ kiện có cấu trúc như mảng (array), struct và union chỉ có thể thực hiện được 23 24 đối với các biến toàn cục hoặc biến tĩnh mà thôi CBGD: ThS.Trần Anh Dũng 6
  7. 10/26/2009 SỰ CHUYỂN KIỂU BÀI TẬP C có khả năng tự động chuyển kiểu C còn cho phép lập trình viên chuyển kiểu bắt buộc. Cú pháp: CBGD: ThS.Trần Anh Dũng CBGD: ThS.Trần Anh Dũng với type là kiểu mà ta muốn ép về cho giá_trị để thực hiện phép toán 25 26 CBGD: ThS.Trần Anh Dũng 7
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2