Xin chào và chào mừng.
Trong phần trình diễn này, tôi muốn cung cấp giải pháp cho một chương trình nhỏ nhanh chóng sẽ
sử dụng toán tử sizeof để cho chúng ta biết bộ nhớ của chúng ta
lớn như thế nào đối với một số kiểu dữ liệu nhất định.
Hãy đưa ra các khối mã và
chúng ta sẽ thực hiện các bước rất quen thuộc ở đây với việc tạo một dự án.
Và chúng ta sẽ nhận được một cái tên có ý nghĩa.
Hãy gọi dự án này
là sizeofexample.
Vì vậy, sizeofexample.
Điều này sẽ khá dễ dàng, thực sự. Nó sẽ chỉ sử dụng các
câu lệnh in ra để hiển thị một số kiểu dữ liệu nhất định.
Vì vậy, tôi sẽ thậm chí không tạo bất kỳ biến nào. Tôi sẽ in ra một
số dữ liệu.
Vì vậy, ở đây tôi sẽ nói các biến
kiểu char chiếm phần trăm.
Và tôi sẽ sử dụng kiểu dữ
liệu um nhất định. Tôi nghĩ đó là zf, nhưng
hãy thử sử dụng zd. Đây là một thông số
định dạng đẹp, đã được thêm vào C99, tôi tin.
Zd và sau đó tất cả những gì chúng ta phải làm là sử dụng sizeof.
Sizeof và nhận nó trông giống như một hàm, nhưng không phải. Và sau đó nói char cho nhân vật.
Và sau đó tôi sẽ sao chép nó
và dán nó bởi vì tôi sẽ làm những việc tương tự.
Tôi sẽ không làm một char, nhưng tôi sẽ làm một đoạn ngắn ở cái thứ hai.
Tôi sẽ thực hiện một int và một dài,
dài dài,
đôi hoặc chúng ta hãy thực hiện một float, float
double, hãy thử long double.
Và sau đó tất cả những gì chúng ta phải
làm là sửa đổi các tham số sizeof để lấy các kiểu tương ứng.
Chúng tôi cũng sẽ sử dụng điều này khi chúng tôi nói về bộ nhớ và con trỏ.
Nhưng điều này chỉ giúp hiểu các kiểu dữ liệu khác nhau.
Và bạn sẽ thấy rằng bạn thực sự có thể vượt qua trong
không gian dài với kích thước dài. Đó có thể là lý do tại sao nó không phải là một hàm vì bạn không thể có khoảng trắng trong các tham số của hàm.
Nhưng hãy nhớ rằng sizeof cũng có các biến, biểu thức, tất cả
các loại.
Và khi nó làm điều đó, nó thực sự xác định kích thước trong thời gian
chạy thay vì thời gian biên dịch trong thời gian dài gấp đôi.
Lưu đó, xây dựng.
Không có lỗi.
Có vẻ như nó không hiểu định dạng z.
Đó là bởi vì nó có thể không phải là int. Vì vậy, thay vào đó, hãy thay đổi chúng thành phần
trăm sử dụng cho không dấu.
Tất cả ngay bây giờ chúng ta hãy xây dựng.
Được rồi, bây giờ chúng tôi không có cảnh báo. Thông thường, khi tôi xây dựng, bạn cũng không muốn có bất kỳ cảnh báo nào.
Cảnh báo trong trình biên dịch là chính
xác những gì họ nói rằng họ đang cảnh báo. Vì vậy, bạn sẽ vẫn biên dịch thành
công, nhưng một cảnh báo thường chỉ ra sự cố.
Vì vậy, bạn muốn xóa các cảnh báo của mình. Và vì vậy tôi đã có một cảnh báo nói rằng
mã định dạng không được phép phần trăm z. , vì vậy tôi đã thay đổi nó, bây giờ tôi không có cảnh báo.
Cố gắng xóa các cảnh báo của bạn càng nhiều càng tốt vì lý do chúng là cảnh báo vì chúng có thể gây ra sự cố.
Và một điều tôi đã quên ở đây mà tôi chỉ nhận thấy là
nó được định dạng không chính xác vì tôi đã không thêm ký tự thoát của mình để đặt cược cho nguồn cấp dữ liệu dòng.
Vì vậy, nó làm cho nó rất khó đọc. Vì vậy, hãy thêm dấu gạch chéo
ngược n sau phần trăm u của chúng ta.
Vì vậy, bây giờ nó nói rằng các biến kiểu char chiếm một.
Các biến kiểu short chiếm 2
byte, int 4 byte, dài 4 byte, dài dài
8 byte, float 4 byte, kép 8 byte, dài kép 12.
Nó khá gọn gàng. Bạn chạy điều này trên nhiều nền tảng khác nhau và bạn sẽ thấy những điều đó thay đổi.
Vì vậy, một chương trình dễ viết, nhưng một lần nữa thể hiện một số khái niệm gọn gàng.
Vì vậy, bạn có thể tiếp tục, bạn có thể tải xuống cái này.
Nếu bạn gặp bất kỳ sự cố nào, hãy thử chạy nó trên các nền tảng khác nhau,
nhưng đây là tất cả những gì tôi muốn trình bày chỉ một chút về các
kích thước kiểu dữ liệu khác nhau, hãy tiếp tục phần tiếp theo. Cảm ơn bạn.